{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from scipy.optimize import fsolve\n",
    "from scipy.optimize import root\n",
    "from scipy.optimize import least_squares\n",
    "import math\n",
    "from scipy.misc import derivative\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib import rc\n",
    "rc('text',usetex=True)\n",
    "from pandas import DataFrame\n",
    "import matplotlib.cm as cm"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Online Appendix -- Learning with General Preference  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "May not have unique Equilibrium\n",
      "Count=1500 number of iterations reached at initial guess No.\n",
      "More than one fundamental value\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/var/folders/68/f_1qhmls3_b2w5ws_5ln_kdh0000gn/T/ipykernel_4997/2333485033.py:26: RuntimeWarning: invalid value encountered in sqrt\n",
      "  return (1-(-1+rho+((1-rho)**2+rho*x)**0.5)/rho)/(((1-rho)**2+rho*x)**0.5)\n"
     ]
    }
   ],
   "source": [
    "A=1          #money supply\n",
    "beta=0.99    #discount factor\n",
    "alpha=0.06   #meeting prob\n",
    "rho=0.5      #bargaining power\n",
    "gamma_h=11   #div of high state\n",
    "gamma_l=-10  #div of low state \n",
    "sigma=0.5    #prob of being a buyer/seller <=0.5\n",
    "s_h=0.55     #prob of receiving gamma_h in H state\n",
    "s_l=1-s_h    #prob of receiving gamma_h in L state\n",
    "eta=0.3      #prob of getting signals \n",
    "zeta=0.01    #prob of getting dividends \n",
    "tolerance= 0.00001 \n",
    "guessnum = 2000 \n",
    "\n",
    "if s_h*gamma_h + s_l*gamma_l < 0: \n",
    "    print(\"Error: negative exp_phi_h not allowed in the baseline\")\n",
    "if s_h*gamma_l + s_l*gamma_h >=0: \n",
    "    print(\"Error: positive exp_phi_l not allowed in the baseline\")\n",
    "\n",
    "def utility(q): \n",
    "    return 2*q**0.5 \n",
    "\n",
    "q_star = 1 \n",
    "\n",
    "def lpremium(x): #x is liquidity (wealth) here\n",
    "    return (1-(-1+rho+((1-rho)**2+rho*x)**0.5)/rho)/(((1-rho)**2+rho*x)**0.5)\n",
    "\n",
    "w_star = fsolve(lpremium,1.5) \n",
    "\n",
    "def func_f(x): \n",
    "    if x < w_star: \n",
    "        return beta*x*(1+alpha*sigma*lpremium(x))\n",
    "    else:\n",
    "        return beta*x \n",
    "    \n",
    "if derivative(func_f, 0, dx=1e-6, n=1) < 1/(2*eta*math.sqrt((1-s_h)*s_h)+1-eta):\n",
    "    print(\"Unique Equilibrium\")\n",
    "else:\n",
    "    print(\"May not have unique Equilibrium\")\n",
    "    \n",
    "def eq_phi_h(y): \n",
    "    return func_f(zeta*(s_h*gamma_h +s_l*gamma_l)+y) -y\n",
    "\n",
    "phi_h = fsolve(eq_phi_h, w_star)\n",
    "if phi_h <=0:\n",
    "    print(\"Error: Neg phi_h\") \n",
    "elif isinstance(phi_h,complex): \n",
    "    print(\"Error: Complex phi_h\")\n",
    "    \n",
    "def exp_gamma(y): #y is current belief pi_j here \n",
    "    return zeta*((y*s_h +(1-y)*s_l)*gamma_h+(1-(y*s_h +(1-y)*s_l))*gamma_l)\n",
    "guessmax = fsolve(exp_gamma, 0.5)\n",
    "if guessmax >=1:\n",
    "    print(\"Error: Wrong guessmax, set to 1\")\n",
    "    guessmax=1\n",
    "guessmin = 0.0000001\n",
    "\n",
    "def update(y): #belief updating after receiving a good news\n",
    "    return y*s_h/(y*s_h + (1-y)*s_l)\n",
    "\n",
    "diff = 10 #to calculate the time horizon\n",
    "pi = guessmin \n",
    "count = 1\n",
    "while diff > tolerance:\n",
    "    pi_prime = update(pi)\n",
    "    count += 1 \n",
    "    diff = 1 - pi_prime\n",
    "    pi = pi_prime\n",
    "n = count #time horizon \n",
    "\n",
    "#solve for q in the DM \n",
    "def eq_q(x,y): #x is real balances and y is q \n",
    "    if x >= w_star: \n",
    "        return y - q_star #meaning that q=q_star\n",
    "    else: \n",
    "        return -x + (1 - rho)*utility(y) + rho*y\n",
    "    \n",
    "rbalance_h = zeta*(s_h*gamma_h+(1-s_h)*gamma_l) + phi_h  \n",
    "def eq_qh(y): #given real balance and y is q \n",
    "    if rbalance_h >= w_star: \n",
    "        return y - q_star #meaning that q=q_star\n",
    "    else: \n",
    "        return -rbalance_h + (1 - rho)*utility(y) + rho*y\n",
    "\n",
    "q_h = fsolve(eq_qh, q_star)    \n",
    "w_h = (alpha*sigma*(utility(q_h) - q_h))/(1-beta)\n",
    "\n",
    "pi0_guess = guessmin\n",
    "a = np.empty(n)\n",
    "a[:] = np.nan\n",
    "pi_array = np.copy(a) \n",
    "pi_array[0] = pi0_guess\n",
    "sbar_array = np.copy(a) \n",
    "gammabar_array = np.copy(a) \n",
    "\n",
    "a = np.empty(n)\n",
    "a[:] = np.nan\n",
    "Phi_baseline = np.copy(a)\n",
    "Pi_baseline = np.copy(a)\n",
    "Sbar_baseline = np.copy(a)\n",
    "Gammabar_baseline = np.copy(a)\n",
    "a = np.zeros(n)\n",
    "phi_guess = np.copy(a) #initial guess of phi sequence \n",
    "phi_guess[-1] = phi_h\n",
    "a = np.zeros(n)\n",
    "a[1:n] = np.nan\n",
    "phi = np.copy(a)\n",
    "phi_ttest = np.copy(a)\n",
    "phi_ttest[-1] = phi_h #updated guess of phi sequence. specify the length here\n",
    "\n",
    "pi0 = pi0_guess\n",
    "pi = np.copy(pi0)  \n",
    "sbar_array[0] = pi0*s_h + (1-pi0)*s_l \n",
    "gammabar_array[0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l)\n",
    "\n",
    "for j in range(n-1):\n",
    "    pi_prime = update(pi) \n",
    "    pi_array[j+1] = pi_prime \n",
    "    sbar_array[j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "    gammabar_array[j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h+(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l)\n",
    "    pi = pi_prime   \n",
    "        \n",
    "sbar = np.copy(sbar_array)\n",
    "gammabar = np.copy(gammabar_array)\n",
    "phi = np.copy(phi_guess)\n",
    "count = 1\n",
    "diff = 1\n",
    "while diff > tolerance and count <= 1500:\n",
    "    phi_test = np.copy(phi_ttest)   \n",
    "    for j in range(1, n-1): # j is state\n",
    "        sbar_j = sbar[j]\n",
    "        gammabar_j = gammabar[j]\n",
    "        phi_jtest = max(func_f(gammabar_j + eta*(sbar_j*phi[j+1]+(1-sbar_j)*phi[j-1]) + (1-eta)*phi[j]),0)\n",
    "        phi_test[j] = phi_jtest\n",
    "    \n",
    "    count += 1 \n",
    "    if count ==1500: \n",
    "        print(\"Count=1500 number of iterations reached at initial guess No.\")\n",
    "    diff = np.max(np.abs(phi - phi_test))\n",
    "    phi = np.copy(phi_test) #update price array \n",
    "            \n",
    "#check incentive constraints \n",
    "# first phi just greater than 0  \n",
    "res = next(x for x, val in enumerate(phi) if val > 0) \n",
    "cond1 = gammabar[res-1] + eta*sbar[res-1]*phi[res] \n",
    "if (cond1 <= tolerance): \n",
    "    #Record arrays\n",
    "    Pi0_baseline = np.copy(pi_array[res-1]) \n",
    "    Phi_baseline = np.copy(phi) #record converged price arrays\n",
    "    Pi_baseline = np.copy(pi_array)\n",
    "    Sbar_baseline = np.copy(sbar) \n",
    "    Gammabar_baseline = np.copy(gammabar)  \n",
    "else: \n",
    "    Pi0_baseline = np.nan \n",
    "\n",
    "#plt.plot(Pi_baseline,Phi_baseline)\n",
    "\n",
    "# Use fsolve to calculate fundamental values \n",
    "# Fundamental value phi* of the asset assuming no information will arrive. \n",
    "# Since no info, no cutoff and start with the smallest belief\n",
    "\n",
    "def Jac(x):  \n",
    "    return beta + beta*alpha*sigma*lpremium(x) - 0.5*beta*x*alpha*sigma*((1-rho)**2+rho*x)**(-1.5) - 1 \n",
    "\n",
    "# find the phi_bar. \n",
    "pi_fund = np.linspace(0,1,500)\n",
    "gammabar_fund = zeta*((pi_fund*s_h + (1-pi_fund)*s_l)*gamma_h+(1-(pi_fund*s_h + (1-pi_fund)*s_l))*gamma_l)\n",
    "\n",
    "phi_fund = np.empty(500)\n",
    "phi_fund[:] = 0\n",
    "phi_fundnew = np.zeros(500)\n",
    "residual_fund = np.empty(500)\n",
    "\n",
    "for j in range(500): \n",
    "    def eq_fund(x): # x is phi here\n",
    "        return func_f(gammabar_fund[j] + x) - x\n",
    "    #phi_fund[j] = fsolve(eq_fund, phi_h,xtol=1.49012e-08)  \n",
    "    #result = least_squares(eq_fund, phi_h, bounds =(0,w_star))\n",
    "    #phi_fund[j] = result.x\n",
    "    #if result.cost > tolerance: \n",
    "    #    print('Resisual too big')\n",
    "    result = root(eq_fund, phi_h, jac = Jac)\n",
    "    if result.success == True:\n",
    "        if result.x <= 0:\n",
    "            phi_fund[j] = 0 \n",
    "        else: \n",
    "            phi_fund[j] = result.x\n",
    "    else: \n",
    "        phi_fund[j] = 0\n",
    "        \n",
    "\n",
    "# check if the price curve is calculated correctly \n",
    "for k in range(500):\n",
    "    LHS = func_f(gammabar_fund[k] + phi_fund[k])\n",
    "    if np.abs(LHS - phi_fund[k]) > tolerance and phi_fund[k]>0: \n",
    "        print('Error at', k)\n",
    "\n",
    "phi_fundlarge = phi_fund #record phi_bar \n",
    "\n",
    "# Find the phi_lowerbar \n",
    "pi_fund = np.linspace(0,1,500)\n",
    "gammabar_fund = zeta*((pi_fund*s_h + (1-pi_fund)*s_l)*gamma_h+(1-(pi_fund*s_h + (1-pi_fund)*s_l))*gamma_l)\n",
    "phi_fund = np.empty(500)\n",
    "phi_fund[:] = 0\n",
    "phi_fundnew = np.zeros(500)\n",
    "residual_fund = np.empty(500)\n",
    "\n",
    "for j in range(500): \n",
    "    def eq_fund(x): # x is phi here\n",
    "        return func_f(gammabar_fund[j] + x) - x\n",
    "    #phi_fund[j] = fsolve(eq_fund, phi_h,xtol=1.49012e-08)  \n",
    "    #result = least_squares(eq_fund, phi_h, bounds =(0,w_star))\n",
    "    #phi_fund[j] = result.x\n",
    "    #if result.cost > tolerance: \n",
    "    #    print('Resisual too big')\n",
    "    result = root(eq_fund, 0.1, jac = Jac)\n",
    "    if result.success == True:\n",
    "        if result.x <= 0:\n",
    "            phi_fund[j] = 0 \n",
    "        else: \n",
    "            phi_fund[j] = result.x\n",
    "    else: \n",
    "        phi_fund[j] = 0\n",
    "        \n",
    "\n",
    "# check if the price curve is calculated correctly \n",
    "for k in range(500):\n",
    "    LHS = func_f(gammabar_fund[k] + phi_fund[k])\n",
    "    if np.abs(LHS - phi_fund[k]) > tolerance and phi_fund[k]>0: \n",
    "        print('Error at', k)\n",
    "\n",
    "phi_fundsmall = phi_fund #record phi_lowerbar \n",
    "\n",
    "# there is phi_bar > phi_underline at phi=0 iff we believe there is a monetary s.s. when pi=0.\n",
    "# if we assume there is no monetary equilibrium at pi=0, then phi_bar = phi_underline\n",
    "num_phi_fund = []\n",
    "if np.max(np.abs(phi_fundsmall - phi_fundlarge))< tolerance: \n",
    "    num_phi_fund = 1\n",
    "    print(\"Only one fundamental value\")\n",
    "else: \n",
    "    num_phi_fund = 2\n",
    "    print(\"More than one fundamental value\")\n",
    "    \n",
    "phi_fundlarge = [np.nan if x==0 else x for x in phi_fundlarge]\n",
    "phi_fundsmall = [np.nan if x==0 else x for x in phi_fundsmall]\n",
    "\n",
    "# save data into excel file\n",
    "# df_parameter = DataFrame(data={'beta': [beta], 'alpha': [alpha],'rho':rho,'gamma_h':gamma_h,'gamma_l':gamma_l,'sigma':sigma,'s_h':s_h,'s_l':s_l,'eta':eta,'zeta':zeta,'num_phi_fund':num_phi_fund})\n",
    "# df_phi_meqm = DataFrame(np.transpose(phi_meqm))\n",
    "# df_pi_meqm = DataFrame(np.transpose(pi_meqm))\n",
    "# df_pi_fun = DataFrame(np.transpose([pi_fund])) \n",
    "# df_phi_fun = DataFrame(data={'phi_fundlarge': phi_fundlarge, 'phi_fundsmall': phi_fundsmall}) \n",
    "# addname = \"results_alpha\"+ str(alpha) +\"eta\" +str(eta) +\"zeta\" +str(zeta) +\".xlsx\"\n",
    "\n",
    "# with pd.ExcelWriter(addname) as writer: \n",
    "#     df_parameter.to_excel(writer, sheet_name='df_parameter')\n",
    "#     df_phi_meqm.to_excel(writer, sheet_name='df_phi_meqm')\n",
    "#     df_pi_meqm.to_excel(writer, sheet_name='df_pi_meqm')\n",
    "#     df_pi_fun.to_excel(writer, sheet_name='df_pi_fun')\n",
    "#     df_phi_fun.to_excel(writer, sheet_name='df_phi_fun')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot figure 8 multiple equm \n",
    "\n",
    "# excel_name = \"results_alpha0.05eta0.01zeta0.01.xlsx\"\n",
    "# df_parameter = pd.read_excel(excel_name, sheet_name='df_parameter') \n",
    "# df_alpha = df_parameter['alpha'].values\n",
    "# df_eta = df_parameter['eta'].values\n",
    "# df_zeta = df_parameter['zeta'].values\n",
    "# #df_num_phi_fund = df_parameter['num_phi_fund'].values\n",
    "# df_num_phi_fund =2\n",
    "# df_phi_meqm = pd.read_excel(excel_name, sheet_name='df_phi_meqm', header=0) \n",
    "# df_phi_meqm = df_phi_meqm.values\n",
    "# df_pi_meqm = pd.read_excel(excel_name, sheet_name='df_pi_meqm', header=0) \n",
    "# df_pi_meqm = df_pi_meqm.values\n",
    "# df_pi_fun = pd.read_excel(excel_name, sheet_name='df_pi_fun', header=0) \n",
    "# df_pi_fun = df_pi_fun.values\n",
    "# df_phi_fun = pd.read_excel(excel_name, sheet_name='df_phi_fun', header=0) \n",
    "# df_phi_fun = df_phi_fun.values\n",
    "\n",
    "for i in range(len(df_pi_meqm[0,:])):\n",
    "        plt.plot(df_pi_meqm[:,i],df_phi_meqm[:,i])  \n",
    "        \n",
    "plt.xlim(0)\n",
    "plt.plot(Pi_fiat[0,:],np.zeros(n),'k|')\n",
    "plt.xlabel('Belief $\\pi_j$', fontsize=16)\n",
    "plt.ylabel('Asset price ', fontsize=16)\n",
    "plt.ylim(0) \n",
    "plt.xticks(fontsize=12)\n",
    "plt.yticks(fontsize=12)\n",
    "plt.title('Multiple Equilibria',fontsize=16)\n",
    "plt.tight_layout()\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Fiat money"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "alpha=0.02\n",
    "eta=0.99\n",
    "zeta=0.007\n",
    "gamma_l = -10 \n",
    "\n",
    "kappa_grid = [0.05,0.5,1] #mimic fiat money\n",
    "a = np.empty([len(kappa_grid),n])\n",
    "a[:] = np.nan\n",
    "Phi_fiat = np.copy(a)\n",
    "Pi_fiat = np.copy(a)\n",
    "    \n",
    "for i in range(len(kappa_grid)):    \n",
    "     \n",
    "    kappa = kappa_grid[i] \n",
    "    gamma_h_tilde = kappa*gamma_h \n",
    "    gamma_l_tilde = kappa*gamma_l\n",
    "\n",
    "    def eq_phi_h_tilde(y): \n",
    "        return func_f(zeta*(s_h*gamma_h_tilde +s_l*gamma_l_tilde)+y) -y\n",
    "\n",
    "    phi_h_tilde = fsolve(eq_phi_h_tilde, 1)\n",
    "    if phi_h_tilde <=0:\n",
    "        print(\"Error: Neg phi_h\") \n",
    "    elif isinstance(phi_h_tilde,complex): \n",
    "        print(\"Error: Complex phi_h\")\n",
    "\n",
    "    pi0_guess = guessmin\n",
    "    a = np.empty(n)\n",
    "    a[:] = np.nan\n",
    "    pi_array = np.copy(a) \n",
    "    pi_array[0] = pi0_guess\n",
    "    sbar_array = np.copy(a) \n",
    "    gammabar_array = np.copy(a) \n",
    "\n",
    "    a = np.ones(n)\n",
    "    phi_guess = np.copy(a) #initial guess of phi sequence \n",
    "    phi_guess[-1] = phi_h_tilde\n",
    "    a = np.zeros(n)\n",
    "    a[1:n] = np.nan\n",
    "    phi = np.copy(a)\n",
    "    phi_ttest = np.copy(a)\n",
    "    phi_ttest[-1] = phi_h_tilde #updated guess of phi sequence. specify the length here\n",
    "\n",
    "    pi0 = pi0_guess\n",
    "    pi = np.copy(pi0)  \n",
    "    sbar_array[0] = pi0*s_h + (1-pi0)*s_l \n",
    "    gammabar_array[0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h_tilde+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l_tilde)\n",
    "\n",
    "    for j in range(n-1):\n",
    "        pi_prime = update(pi) \n",
    "        pi_array[j+1] = pi_prime \n",
    "        sbar_array[j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "        gammabar_array[j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h_tilde+(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l_tilde)\n",
    "        pi = pi_prime   \n",
    "\n",
    "    sbar = np.copy(sbar_array)\n",
    "    gammabar = np.copy(gammabar_array)\n",
    "    phi = np.copy(phi_guess)\n",
    "    count = 1\n",
    "    diff = 1\n",
    "    while diff > tolerance and count <= 2500:\n",
    "        phi_test = np.copy(phi_ttest)   \n",
    "        for j in range(1, n-1): # j is state\n",
    "            sbar_j = sbar[j]\n",
    "            gammabar_j = gammabar[j]\n",
    "            phi_jtest = max(func_f(gammabar_j + eta*(sbar_j*phi[j+1]+(1-sbar_j)*phi[j-1]) + (1-eta)*phi[j]),0)\n",
    "            phi_test[j] = phi_jtest\n",
    "\n",
    "        count += 1 \n",
    "        if count ==2500: \n",
    "            print(\"Count=2500 number of iterations reached at initial guess No.\")\n",
    "        diff = np.max(np.abs(phi - phi_test))\n",
    "        phi = np.copy(phi_test) #update price array \n",
    "\n",
    "    #check incentive constraints \n",
    "    # first phi just greater than 0  \n",
    "\n",
    "    #Record arrays\n",
    "    Phi_fiat[i,:] = np.copy(phi) #record converged price arrays\n",
    "    Pi_fiat[i,:] = np.copy(pi_array)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot Figure 9 Right Panel \n",
    "\n",
    "linestyles = ['-', '--', ':', '-.']\n",
    "for i in range(len(kappa_grid)):\n",
    "    label = str(kappa_grid[i])\n",
    "    plt.plot(Pi_fiat[0,:],Phi_fiat[i,:],linestyle = linestyles[i], label = r\"$\\kappa$ = \"  + label )\n",
    "    DataOut = np.column_stack((Pi_fiat[0,:],Phi_fiat[i,:]))\n",
    "    np.savetxt('fiat_money_phi_kappa'+str(i)+'.dat', DataOut)\n",
    "\n",
    "plt.plot(Pi_fiat[0,:],np.zeros(n),'k|')\n",
    "plt.xlim(0,1)\n",
    "plt.xlabel('Belief $\\pi_j$', fontsize=16)\n",
    "plt.ylabel('Price', fontsize=16)\n",
    "plt.ylim(0) \n",
    "plt.xticks(fontsize=12)\n",
    "plt.yticks(fontsize=12)\n",
    "plt.legend(fontsize=16)\n",
    "plt.title('Fiat Money',fontsize=16)\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Non-monotone information premium "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [],
   "source": [
    "tolerance= 1e-07\n",
    "guessmin = 1e-07 # the smallest pi\n",
    "fine_multiplier = 30 \n",
    "inft = 300\n",
    "class Dividend:\n",
    "    def __init__(self,\n",
    "                given_A=1,           #money supply\n",
    "                given_beta=0.958,    #discount factor\n",
    "                given_alpha=0.005,   #meeting prob\n",
    "                given_rho=1,         #bargaining power\n",
    "                given_gamma_h=1.444262,   #div of high state\n",
    "                given_gamma_l= -1.236,    #div of low state \n",
    "                given_s_h=0.6,       #prob of receiving gamma_h in H state\n",
    "                given_s_l=0.4,       #prob of receiving gamma_h in L state\n",
    "                given_eta=0.3,       #prob of getting signals \n",
    "                given_zeta=0.01,     #prob of getting dividends \n",
    "                given_n = 10, \n",
    "                given_pi_array = 10,\n",
    "                given_sbar_array = 10, \n",
    "                given_gammabar_array = 10\n",
    "                ):\n",
    "        self.A = given_A\n",
    "        self.beta = given_beta \n",
    "        self.alpha = given_alpha \n",
    "        self.rho = given_rho \n",
    "        self.gamma_h = given_gamma_h\n",
    "        self.gamma_l = given_gamma_l \n",
    "        self.s_h = given_s_h \n",
    "        self.s_l = given_s_l \n",
    "        self.eta = given_eta\n",
    "        self.zeta = given_zeta\n",
    "        self.n = given_n\n",
    "        self.pi_array = given_pi_array\n",
    "        self.sbar_array = given_sbar_array\n",
    "        self.gammabar_array = given_gammabar_array\n",
    "    \n",
    "    def arrays_beliefs(self):\n",
    "        A = self.A\n",
    "        beta = self.beta  \n",
    "        alpha = self.alpha \n",
    "        rho = self.rho  \n",
    "        gamma_h = self.gamma_h\n",
    "        gamma_l = self.gamma_l \n",
    "        s_h = self.s_h \n",
    "        s_l = self.s_l \n",
    "        eta = self.eta \n",
    "        zeta = self.zeta\n",
    "\n",
    "        def update(y): \n",
    "            \" belief updating after receiving a good news, get pi_prime given pi \"\n",
    "            return y*s_h/(y*s_h + (1-y)*s_l)\n",
    "\n",
    "        diff = 10 #to calculate the time horizon\n",
    "        pi = guessmin \n",
    "        count = 1\n",
    "        while diff > tolerance:\n",
    "            pi_prime = update(pi)\n",
    "            count += 1 \n",
    "            diff = 1 - pi_prime\n",
    "            pi = pi_prime\n",
    "        n = count #time horizon \n",
    "\n",
    "        pi0_guess = guessmin\n",
    "        a = np.empty(n)\n",
    "        a[:] = np.nan\n",
    "        pi_array = np.copy(a) \n",
    "        pi_array[0] = pi0_guess\n",
    "        sbar_array = np.copy(a) \n",
    "        gammabar_array = np.copy(a) \n",
    "\n",
    "        pi0 = pi0_guess\n",
    "        pi = np.copy(pi0)  \n",
    "        sbar_array[0] = pi0*s_h + (1-pi0)*s_l \n",
    "        gammabar_array[0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l)\n",
    "\n",
    "        for j in range(n-1):\n",
    "            pi_prime = update(pi) \n",
    "            pi_array[j+1] = pi_prime \n",
    "            sbar_array[j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "            gammabar_array[j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h\n",
    "                                        +(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l)\n",
    "            pi = pi_prime   \n",
    "            \n",
    "        fine = fine_multiplier*n\n",
    "        j_fine = np.linspace(start = guessmin, stop = n, num = fine)\n",
    "        \n",
    "        def pi_fine(j):\n",
    "            \" Bayes rule \"\n",
    "            con = guessmin*s_h**j/((1-guessmin)*s_l**j)\n",
    "            return con/(1+con)\n",
    "        \n",
    "        pi_fine_array = np.zeros(fine)\n",
    "        for J in range(1,fine): \n",
    "            j = J/fine_multiplier\n",
    "            pi_fine_array[J] = pi_fine(j) #make the grid of pi finer for plotting\n",
    "        \n",
    "        return n, pi_array, sbar_array, gammabar_array, j_fine, pi_fine_array\n",
    "        \n",
    "    def equm_allocation(self):\n",
    "        \n",
    "        A = self.A\n",
    "        beta = self.beta  \n",
    "        alpha = self.alpha \n",
    "        rho = self.rho  \n",
    "        gamma_h = self.gamma_h\n",
    "        gamma_l = self.gamma_l \n",
    "        s_h = self.s_h \n",
    "        s_l = self.s_l \n",
    "        eta = self.eta \n",
    "        zeta = self.zeta\n",
    "        n = self.n\n",
    "        pi_array = self.pi_array \n",
    "        sbar_array = self.sbar_array\n",
    "        gammabar_array = self.gammabar_array\n",
    "        \n",
    "        pi = np.copy(pi_array)\n",
    "        pi_fine = np.copy(pi_fine_array)\n",
    "        sbar = np.copy(sbar_array)\n",
    "        gammabar = np.copy(gammabar_array) \n",
    "        \n",
    "        if s_h*gamma_h + s_l*gamma_l < 0: \n",
    "            print(\"Error: negative exp_phi_h not allowed in the baseline\")\n",
    "        if s_h*gamma_l + s_l*gamma_h >=0: \n",
    "            print(\"Error: positive exp_phi_l not allowed in the baseline\")\n",
    "\n",
    "#         D = 1\n",
    "#         def utility(q): \n",
    "#             return 2*np.log(q+D)\n",
    "\n",
    "#         def utility_prime(q): \n",
    "#             return 2/(q+D)\n",
    "\n",
    "#         def utility_doubleprime(q): \n",
    "#             return -2/(q+D)**2\n",
    "\n",
    "        C = 120\n",
    "        def utility(q): \n",
    "            return 1-np.exp(-C*q)\n",
    "\n",
    "        def utility_prime(q): \n",
    "            return C*np.exp(-C*q)\n",
    "\n",
    "        def utility_doubleprime(q): \n",
    "            return -C*C*np.exp(-C*q)\n",
    "        \n",
    "        \n",
    "#         def utility(q): \n",
    "#             return 2*q**0.5 \n",
    "#         def utility_prime(q):\n",
    "#             return q**(-0.5)\n",
    "#         def utility_doubleprime(q):\n",
    "#             return -0.5*q**(-1.5)\n",
    "\n",
    "#         A_u = 1.18\n",
    "#         rho_u = 0.01\n",
    "#         def utility(q): \n",
    "#             if q == 0:\n",
    "#                 return A_u*0.001**(1-rho_u)/(1-rho_u)\n",
    "#             else:\n",
    "#                 return A_u*q**(1-rho_u)/(1-rho_u)\n",
    "#         def utility_prime(q): \n",
    "#             if q == 0:\n",
    "#                 return A_u*0.001**(-rho_u)\n",
    "#             else:\n",
    "#                 return A_u*q**(-rho_u)\n",
    "#         def utility_doubleprime(q): \n",
    "#             if q == 0:\n",
    "#                 return A_u*(-rho_u)*0.001**(-rho_u-1)\n",
    "#             else:\n",
    "#                 return A_u*(-rho_u)*q**(-rho_u-1)\n",
    "        \n",
    "\n",
    "#         A_u = 2\n",
    "#         B_u = 1.9 \n",
    "#         lambda_u = 0.6\n",
    "#         a_u = 2.2\n",
    "#         b_u = 2\n",
    "#         theta_u = 10\n",
    "#         def utility(q):\n",
    "#             return lambda_u*B_u*q +(1-lambda_u)*A_u*(theta_u - np.exp(-b_u*q**a_u))\n",
    "\n",
    "#         def utility_prime(q):\n",
    "#             return lambda_u*B_u + (1-lambda_u)*A_u*np.exp(-b_u*q**a_u)*b_u*a_u*q**(a_u-1)\n",
    "\n",
    "#         def utility_doubleprime(q):\n",
    "#             return (-b_u*a_u*(q**(a_u-1))*(1-lambda_u)*A_u*np.exp(-b_u*q**a_u)*b_u*a_u*q**(a_u-1)\n",
    "#                     + (1-lambda_u)*A_u*np.exp(-b_u*q**a_u)*b_u*a_u*(a_u-1)*q**(a_u-2) )\n",
    "\n",
    "        def eq_q_star(q):\n",
    "            return utility_prime(q) - 1 \n",
    "\n",
    "        q_star = root(eq_q_star, 1.1, jac = utility_doubleprime).x\n",
    "        if np.abs(eq_q_star(q_star))>tolerance: \n",
    "            print(\"error: solving q_star\")\n",
    "    \n",
    "        def wealth(q): \n",
    "            \" wealth needed to purchase q: w = rho * q + (1-rho)*u(q) \"\n",
    "            return rho*q + (1-rho)*utility(q)\n",
    "        \n",
    "        w_star = wealth(q_star)\n",
    "        print(q_star,w_star)\n",
    "        \n",
    "        def fun_q(w): \n",
    "            \" inverse of wealth(q), given w, solve for q\"\n",
    "            if w < 0: \n",
    "                return 0\n",
    "            elif w >= w_star:\n",
    "                return w_star\n",
    "            else:\n",
    "                return w  \n",
    "\n",
    "        def lpremium(w):\n",
    "            \" this is the liquidity premium, a function of wealth\"\n",
    "            if w < 0: \n",
    "                return 0\n",
    "            else: \n",
    "                q = fun_q(w)\n",
    "                if 0 < q <= q_star:\n",
    "                    return utility_prime(q) - 1\n",
    "                else: \n",
    "                    return 0\n",
    "\n",
    "        def func_f(x): \n",
    "            \" function f \"\n",
    "            if x < w_star: \n",
    "                #return beta*x*(1 + alpha*lpremium(x))\n",
    "                return beta*x*(1 + alpha*(utility_prime(x) - 1))\n",
    "            else:\n",
    "                return beta*x \n",
    "\n",
    "        if derivative(func_f, 0, dx=1e-6, n=1) < 1/(2*eta*math.sqrt((1-s_h)*s_h)+1-eta):\n",
    "            print(\"Unique Equilibrium\")\n",
    "        else:\n",
    "            print(\"May not have unique Equilibrium\")\n",
    "\n",
    "        def eq_phi_h(y): \n",
    "            return func_f(zeta*(s_h*gamma_h +s_l*gamma_l)+y) -y\n",
    "\n",
    "        phi_h = fsolve(eq_phi_h, w_star)\n",
    "        if np.abs(eq_phi_h(phi_h)) > tolerance: \n",
    "            print(\"error: solving phi_h\")\n",
    "        \n",
    "        # when gamma_l = 0 \n",
    "        def eq_phi_l(y): \n",
    "            return func_f(zeta*(s_l*gamma_h +s_h*gamma_l)+y) -y\n",
    "        if s_l*gamma_h +s_h*gamma_l>=0:\n",
    "            phi_l = fsolve(eq_phi_l, w_star-0.1)\n",
    "            if np.abs(eq_phi_l(phi_l)) > tolerance: \n",
    "                print(\"error: solving phi_l\")\n",
    "        else: \n",
    "            phi_l = 0\n",
    "            \n",
    "        print(\"phi_h=\",phi_h,\"phi_l=\", phi_l)\n",
    "        \n",
    "        if phi_h <= 0:\n",
    "            print(\"Error: Neg phi_h\") \n",
    "        elif isinstance(phi_h,complex): \n",
    "            print(\"Error: Complex phi_h\")\n",
    "        \n",
    "        def update(y): \n",
    "            \" belief updating after receiving a good news, get pi_prime given pi \"\n",
    "            return y*s_h/(y*s_h + (1-y)*s_l)\n",
    "\n",
    "        phi_guess = np.zeros(n) #initial guess of phi sequence \n",
    "        phi_guess[-1] = phi_h\n",
    "        phi_guess[0] = phi_l\n",
    "        a = np.zeros(n)\n",
    "        a[1:n] = np.nan\n",
    "        phi = np.copy(a)\n",
    "        phi_ttest = np.copy(a)\n",
    "        phi_ttest[0] = phi_l\n",
    "        phi_ttest[-1] = phi_h #updated guess of phi sequence. specify the length here\n",
    "\n",
    "        phi = np.copy(phi_guess)\n",
    "        count = 1\n",
    "        diff,diff2 = 1,1\n",
    "        phi_test = np.copy(phi_ttest) \n",
    "        while (diff > tolerance) and count <= 1500:\n",
    "              \n",
    "            for j in range(1, n-1): # j is state\n",
    "                sbar_j = sbar[j]\n",
    "                gammabar_j = gammabar[j]\n",
    "                l_j =gammabar_j + eta*(sbar_j*phi[j+1]+(1-sbar_j)*phi[j-1]) + (1-eta)*phi[j]\n",
    "                phi_jtest = min(max(func_f(l_j),phi_l),phi_h)\n",
    "                phi_test[j] = phi_jtest\n",
    "            count += 1 \n",
    "            if count ==1500: \n",
    "                print(\"Count=1500 number of iterations reached when solve phi\")\n",
    "            diff = np.max(np.abs(phi - phi_test))\n",
    "            diff2 = np.abs(phi_test[-1] - phi_test[-2])\n",
    "            phi = np.copy(phi_test) #update price array \n",
    "\n",
    "        #check incentive constraints  \n",
    "        res = next(x for x, val in enumerate(phi) if val > 0) # find the first pos phi\n",
    "        cond1 = gammabar[res-1] + eta*sbar[res-1]*phi[res] # liquidity at the cutoff\n",
    "        phi_array = []\n",
    "        pi_cutoff = [] \n",
    "        d = []\n",
    "        if (cond1 <= tolerance): \n",
    "            #Record arrays\n",
    "            pi_cutoff = np.copy(pi_array[res-2]) # cutoff is res-1\n",
    "            d = res-2\n",
    "        else: \n",
    "            pi_cutoff = np.nan \n",
    "            d = np.nan\n",
    "        print(\"d=\", d)\n",
    "        pi_cutoff = np.copy(pi_array[res-2]) # cutoff is res-1\n",
    "        phi_array = np.copy(phi) # want to record converged price arrays\n",
    "        \n",
    "        ############################\n",
    "        # get fundamental values \n",
    "        ############################\n",
    "        \n",
    "        def dlp_dw(w): \n",
    "            if w < 0: \n",
    "                return 0\n",
    "            else: \n",
    "                q = fun_q(w)\n",
    "                if 0 < q <= q_star:\n",
    "                    dq_dw = 1/(rho + (1-rho)*utility_prime(q))\n",
    "                    return rho*utility_doubleprime(q)*dq_dw/(rho+(1-rho)*utility_prime(q))**2\n",
    "                else: \n",
    "                    return 0\n",
    "        \n",
    "        phi_fund_h = np.zeros(n)\n",
    "        phi_fund_h[:] = np.nan\n",
    "        phi_fund_l = np.copy(phi_fund_h)\n",
    "        rbalance_fund = np.zeros(n)\n",
    "        rbalance_fund[:] = np.nan\n",
    "        q_fund = np.zeros(n)\n",
    "        q_fund[:] = np.nan\n",
    "        for j in range(0, n):    \n",
    "            gammabar_j = gammabar[j] \n",
    "            def func_fundamental(w): # x is phi here\n",
    "                if gammabar_j +w < w_star:\n",
    "                    return func_f(gammabar_j +w) - w\n",
    "                else: \n",
    "                    return beta*(gammabar_j +w) - w\n",
    "            \n",
    "            def Joc_func_fundamental(w):\n",
    "                if gammabar_j+w < w_star: \n",
    "                    x1 = lpremium(gammabar_j+w) \n",
    "                    x2 = dlp_dw(gammabar_j+w) \n",
    "                else: \n",
    "                    x1 = 0 \n",
    "                    x2 = 0\n",
    "                return beta*(1 +alpha*x1 + (gammabar_j+w)*alpha*x2) -1\n",
    "                \n",
    "            if j > 0 and phi_fund_h[j-1]>0:\n",
    "                guess = phi_fund_h[j-1]\n",
    "            else: \n",
    "                guess = w_star - 0.1\n",
    "            result_h = root(func_fundamental, guess, jac = Joc_func_fundamental) \n",
    "            if result_h.success == True and abs(func_fundamental(result_h.x))<=tolerance :\n",
    "                if result_h.x <= 0:\n",
    "                    phi_fund_h[j] = phi_h \n",
    "                else: \n",
    "                    phi_fund_h[j] = result_h.x\n",
    "            else: \n",
    "                phi_fund_h[j] = np.nan\n",
    "                \n",
    "            rbalance_fund[j] = phi_fund_h[j] + gammabar_j\n",
    "            q_fund[j] = fun_q(rbalance_fund[j])\n",
    "                \n",
    "            result_l = root(func_fundamental, phi_l, jac = Joc_func_fundamental)\n",
    "            if result_l.success == True and np.abs(func_fundamental(result_l.x))<=tolerance :\n",
    "                if result_l.x <= 0:\n",
    "                    phi_fund_l[j] = 0 \n",
    "                else: \n",
    "                    phi_fund_l[j] = result_l.x\n",
    "            else: \n",
    "                phi_fund_l[j] = np.nan\n",
    "                \n",
    "        phi_fund_h_array = np.copy(phi_fund_h)\n",
    "        phi_fund_l_array = np.copy(phi_fund_l)\n",
    "        rbalance_fund_array = np.copy(rbalance_fund)\n",
    "        q_fund_array = np.copy(q_fund)\n",
    "        \n",
    "        ####################\n",
    "        #  get welfares \n",
    "        ####################\n",
    "        rbalance_h = zeta*(s_h*gamma_h+s_l*gamma_l) + phi_h\n",
    "        q_h = fun_q(rbalance_h)  \n",
    "        \n",
    "        rbalance_l = zeta*(s_l*gamma_h+s_h*gamma_l) + phi_l\n",
    "        q_l = fun_q(rbalance_l)  \n",
    "        \n",
    "        w_h = beta*(alpha*(utility(q_h) - q_h))/(1-beta) +zeta*(s_l*gamma_l + s_h*gamma_h)/(1-beta) \n",
    "        w_l = max(beta*(alpha*(utility(q_l) - q_l))/(1-beta)+ zeta*(s_h*gamma_l + s_l*gamma_h)/(1-beta),0)\n",
    "        print(\"w_h =\",w_h, \"w_l =\",w_l)\n",
    "        rbalance = np.zeros(n)\n",
    "        q = np.zeros(n)\n",
    "        q[-1] = q_h\n",
    "        q[0] = q_l\n",
    "        w_test = np.zeros(n)\n",
    "        w_test[-1] = w_h\n",
    "        w_test[0:1] = w_l\n",
    "        w_guess = np.zeros(n)\n",
    "        w_guess[-1] = w_h\n",
    "        w_guess[0] = w_l\n",
    "        rbalance[-1] = rbalance_h\n",
    "        rbalance[0] = rbalance_l\n",
    "        \n",
    "        for j in range(1,n-1): \n",
    "            sbar_j = sbar[j]\n",
    "            gammabar_j = gammabar[j]\n",
    "            rbalance[j] = gammabar_j + eta*sbar_j*phi[j+1] + eta*(1-sbar_j)*phi[j-1] + (1-eta)*phi[j]\n",
    "            q[j] = fun_q(rbalance[j])\n",
    "        \n",
    "        count = 1\n",
    "        diff = 1    \n",
    "        w = np.copy(w_guess)\n",
    "        w_ttest = np.copy(w_test)\n",
    "        gain = np.zeros(n)\n",
    "        gain[0] = utility(q[0])-q[0]\n",
    "        gain[-1] = utility(q[-1])-q[-1]\n",
    "        gain_fund = np.zeros(n)\n",
    "        gain_fund[0] = utility(fun_q(gammabar[0]+phi_fund_h[0]))-fun_q(gammabar[0]+phi_fund_h[0])\n",
    "        gain_fund[-1] = utility(fun_q(gammabar[-1]+phi_fund_h[-1]))-fun_q(gammabar[-1]+phi_fund_h[-1])\n",
    "        while diff > tolerance and count <= 3000: \n",
    "            \n",
    "            for j in range(1, n-1): \n",
    "                sbar_j = sbar[j]\n",
    "                gammabar_j = gammabar[j]\n",
    "                gain[j] = (utility(q[j])-q[j])\n",
    "                gain_fund[j] = (utility(fun_q(gammabar_j+phi_fund_h[j]))-fun_q(gammabar_j+phi_fund_h[j]))\n",
    "                w_jtest = min(max((gammabar_j + beta*alpha*gain[j] + eta*sbar_j*beta*w[j+1] \n",
    "                       + eta*(1-sbar_j)*beta*w[j-1] + (1-eta)*beta*w[j]),w_l),w_h)\n",
    "                w_ttest[j] = w_jtest\n",
    "                 \n",
    "            count += 1 \n",
    "            if count ==3000: \n",
    "                print(\"Count=3000 number of iterations reached at welfare \")\n",
    "            diff = np.max(np.abs(w - w_ttest))\n",
    "            w = np.copy(w_ttest) #update welfare array \n",
    "            \n",
    "            \n",
    "        rbalance_array = np.copy(rbalance)\n",
    "        q_array = np.copy(q)\n",
    "        w_array = np.copy(w) #record converged welfare arrays\n",
    "        omega = np.zeros(n)\n",
    "        omega_H = np.copy(omega) \n",
    "        omega_L = np.copy(omega)\n",
    "        omega_test = np.zeros(n)\n",
    "        omega_test[-1]=np.nan\n",
    "        omega_L_test = np.copy(omega_test)\n",
    "        omega_H_test = np.copy(omega_test)\n",
    "        omega0_test = np.zeros(n) \n",
    "        omega0_test[-1] = np.nan\n",
    "        omega0_H = np.zeros(n)\n",
    "        omega0_L = np.zeros(n)\n",
    "        omega0 = np.zeros(n)\n",
    "\n",
    "        ##########################\n",
    "        #  check welfare formula \n",
    "        ##########################\n",
    "        if d > 0: \n",
    "            \n",
    "            m1_H = (1-beta*(1-eta))/(2*s_h*beta*eta) - (((1-beta*(1-eta))/(2*s_h*beta*eta))**2 - s_l/s_h)**0.5 \n",
    "            m2_H = (1-beta*(1-eta))/(2*s_h*beta*eta) + (((1-beta*(1-eta))/(2*s_h*beta*eta))**2 - s_l/s_h)**0.5 \n",
    "\n",
    "            m1_L = (1-beta*(1-eta))/(2*s_l*beta*eta) - (((1-beta*(1-eta))/(2*s_l*beta*eta))**2 - s_h/s_l)**0.5 \n",
    "            m2_L = (1-beta*(1-eta))/(2*s_l*beta*eta) + (((1-beta*(1-eta))/(2*s_l*beta*eta))**2 - s_h/s_l)**0.5 \n",
    "\n",
    "            for j in range(0, n-d):\n",
    "                sum1_H = 0\n",
    "                for t in range(0,j):\n",
    "                    if d+t+1 < n:\n",
    "                        epsilon = gammabar[d+t+1] + beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "\n",
    "                    sum1_H = sum1_H + m1_H**j/(m2_H-m1_H) * (m2_H/(m1_H**t) - m1_H/(m2_H**t)) * epsilon\n",
    "\n",
    "                sum2_H = 0 \n",
    "                for t in range(j, inft):\n",
    "                    if d+t+1 < n:\n",
    "                        epsilon = gammabar[d+t+1] + beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "\n",
    "                    sum2_H = sum2_H + (m1_H * (m2_H**j - m1_H**j)/((m2_H-m1_H)*(m2_H**t))) * epsilon\n",
    "\n",
    "                omega_j_H = (sum1_H + sum2_H)/(beta*eta*s_l)\n",
    "\n",
    "                sum1_L = 0\n",
    "                for t in range(0,j):\n",
    "                    if d+t+1 < n:\n",
    "                        epsilon = gammabar[d+t+1] + beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "\n",
    "                    sum1_L = sum1_L + m1_L**j/(m2_L-m1_L) * (m2_L/(m1_L**t) - m1_L/(m2_L**t)) * epsilon\n",
    "\n",
    "                sum2_L = 0 \n",
    "                for t in range(j, inft):\n",
    "                    if d+t+1 < n:\n",
    "                        epsilon = gammabar[d+t+1] + beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "\n",
    "                    sum2_L = sum2_L + (m1_L/((m2_L-m1_L)*m2_L**t)) * (m2_L**j - m1_L**j) * epsilon\n",
    "\n",
    "                omega_j_L = (sum1_L + sum2_L)/(beta*eta*s_h)     \n",
    "                omega_H[d+j] = omega_j_H\n",
    "                omega_L[d+j] = omega_j_L\n",
    "                omega[d+j] = pi[d+j]*omega_j_H + (1-pi[d+j])*omega_j_L\n",
    "\n",
    "            omega_L_array = np.copy(omega_L)\n",
    "            omega_H_array = np.copy(omega_H)\n",
    "            omega_array = np.copy(omega)\n",
    "\n",
    "            for j in range(d+1, n-1): \n",
    "                omega_test_j = (gammabar[j] + beta*alpha*(utility(q_array[j]) - q_array[j])\n",
    "                                + beta*(eta*sbar[j]*omega_array[j+1] \n",
    "                                       + eta*(1-sbar[j])*omega_array[j-1] \n",
    "                                       +(1-eta)*omega_array[j])) \n",
    "                omega_test[j] = omega_test_j \n",
    "                omega_test_j = (gammabar[j] + beta*alpha*(utility(q_array[j]) - q_array[j])\n",
    "                                + beta*(eta*sbar[j]*omega_L_array[j+1] \n",
    "                                       + eta*(1-sbar[j])*omega_L_array[j-1] \n",
    "                                       +(1-eta)*omega_L_array[j])) \n",
    "                omega_L_test[j] = omega_test_j \n",
    "                omega_test_j = (gammabar[j] + beta*alpha*(utility(q_array[j]) - q_array[j])\n",
    "                                + beta*(eta*sbar[j]*omega_H_array[j+1] \n",
    "                                       + eta*(1-sbar[j])*omega_H_array[j-1] \n",
    "                                       +(1-eta)*omega_H_array[j])) \n",
    "                omega_H_test[j] = omega_test_j \n",
    "            # check arbitary satisfy the difference equation \n",
    "\n",
    "            for j in range(0, n-d):\n",
    "                sum1_H = 0\n",
    "                for t in range(0,j):\n",
    "                    if d+t+1 < n:\n",
    "                        epsilon = gammabar[d+t+1] + beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "                    sum1_H = sum1_H + m2_H/(m2_H - m1_H)*(m1_H**(j-t) - m2_H**(j-t))*epsilon\n",
    "\n",
    "                sum2_H = 0 \n",
    "                sum3_H = 0\n",
    "                for t in range(j, inft):\n",
    "                    if d+t+1 < n: \n",
    "                        epsilon = gammabar[d+t+1] +beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "                    sum2_H = sum2_H + m2_H**(j-t)*epsilon\n",
    "\n",
    "                for t in range(0, inft):\n",
    "                    if d+t+1 < n: \n",
    "                        epsilon = gammabar[d+t+1] +beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "                    sum3_H = sum3_H + epsilon/(m2_H**t)\n",
    "\n",
    "                omega0_H[d+j] = (((sum1_H - sum2_H)/(beta*eta*s_h) \\\n",
    "                         - m1_H**j*sum3_H*m1_H/(m2_H-m1_H)/(beta*eta*s_h) \\\n",
    "                         + m2_H**j*sum3_H*m2_H/(m2_H-m1_H)/(beta*eta*s_h))*(s_h/s_l))\n",
    "\n",
    "                sum1_L = 0\n",
    "                for t in range(0,j):\n",
    "                    if d+t+1 < n:\n",
    "                        epsilon = gammabar[d+t+1] + beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "                    sum1_L = sum1_L + m2_L/(m2_L - m1_L)*(m1_L**(j-t) - m2_L**(j-t))*epsilon\n",
    "\n",
    "                sum2_L = 0 \n",
    "                sum3_L = 0\n",
    "                for t in range(j, inft):\n",
    "                    if d+t+1 < n: \n",
    "                        epsilon = gammabar[d+t+1] +beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "                    sum2_L = sum2_L + m2_L**(j-t)*epsilon\n",
    "\n",
    "                for t in range(0, inft):\n",
    "                    if d+t+1 < n: \n",
    "                        epsilon = gammabar[d+t+1] +beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "                    sum3_L = sum3_L + epsilon/(m2_L**t)\n",
    "\n",
    "                omega0_L[d+j] = (((sum1_L - sum2_L)/(beta*eta*s_l) \\\n",
    "                         - m1_L**j*sum3_L*m1_L/(m2_L-m1_L)/(beta*eta*s_l) \\\n",
    "                         + m2_L**j*sum3_L*m2_L/(m2_L-m1_L)/(beta*eta*s_l))*(s_l/s_h))\n",
    "\n",
    "                omega0[d+j] = pi[d+j]*omega0_H[d+j] + (1-pi[d+j])*omega0_L[d+j]\n",
    "\n",
    "            for j in range(d, n-1): \n",
    "                omega0_test[j] = (gammabar[j] + beta*alpha*(utility(q_array[j]) - q_array[j])\n",
    "                                + beta*(eta*sbar[j]*omega0[j+1] \n",
    "                                       + eta*(1-sbar[j])*omega0[j-1] \n",
    "                                       +(1-eta)*omega0[j])) \n",
    "            \n",
    "            ##########################\n",
    "            # want to plot b_ij\n",
    "            ##########################\n",
    "            b = np.zeros(inft*fine_multiplier) #coefficients of j \n",
    "                \n",
    "            j = 9 # in the simulation: 4, 9, 15 were used\n",
    "\n",
    "            for I in range(fine_multiplier,(inft-d)*fine_multiplier): \n",
    "                b_i = 0 # this is actually i-1\n",
    "                i = I/fine_multiplier\n",
    "                if j+d < n: \n",
    "                    belief = pi[j+d] \n",
    "                else: \n",
    "                    belief = 1\n",
    "                \n",
    "                if i <= j - 1:\n",
    "                    b_i = (belief*(m1_H**(j)/(m2_H-m1_H) * (m2_H/(m1_H**i) - m1_H/(m2_H**i)))/(beta*eta*s_l)\n",
    "                        +(1-belief)*(m1_L**(j)/(m2_L-m1_L) * (m2_L/(m1_L**i) - m1_L/(m2_L**i)))/(beta*eta*s_h)) \n",
    "                #elif i > j+1/2:\n",
    "                else:\n",
    "                    b_i = (belief*(m1_H * (m2_H**(j) - m1_H**(j))/((m2_H-m1_H)*(m2_H**i)))/(beta*eta*s_l)\n",
    "                        +(1-belief)*(m1_L * (m2_L**(j) - m1_L**(j))/((m2_L-m1_L)*(m2_L**i)))/(beta*eta*s_h))\n",
    "                \n",
    "                b[d*fine_multiplier +I -fine_multiplier] = b_i\n",
    "        else:\n",
    "            omega_L_array = np.copy(omega_L)\n",
    "            omega_H_array = np.copy(omega_H)\n",
    "            omega_array = np.copy(omega)\n",
    "        \n",
    "        epsilon = np.zeros(n)\n",
    "        for j in range(n):\n",
    "            gammabar_j = gammabar[j]\n",
    "            gain_j = gain[j]\n",
    "            epsilon[j] = max(gammabar_j + alpha*beta*gain_j,0)\n",
    "            \n",
    "        return pi_cutoff, q_star, w_star, phi_array, phi_fund_h_array, phi_fund_l_array, \\\n",
    "                rbalance_fund_array, q_fund_array,rbalance_array, q_array, w_array, phi_l, w_l \\\n",
    "                , omega_array, \\\n",
    "                omega_L_array, omega_H_array,omega_test,omega_L_test,omega_H_test, omega0, omega0_test, \\\n",
    "                b, gain, gain_fund, epsilon\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/var/folders/68/f_1qhmls3_b2w5ws_5ln_kdh0000gn/T/ipykernel_4997/1424957134.py:141: RuntimeWarning: overflow encountered in exp\n",
      "  return C*np.exp(-C*q)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "error: solving q_star\n",
      "[1.1] [1.1]\n",
      "May not have unique Equilibrium\n",
      "phi_h= [0.07588562] phi_l= 0\n",
      "d= 33\n",
      "w_h = [0.19356937] w_l = 0\n",
      "error: solving q_star\n",
      "[1.1] [1.1]\n",
      "May not have unique Equilibrium\n",
      "phi_h= [0.07588562] phi_l= 0\n",
      "d= 32\n",
      "w_h = [0.19356937] w_l = 0\n"
     ]
    }
   ],
   "source": [
    "eta_grid = [0.5,0.9]\n",
    "\n",
    "n, pi_array, sbar_array, gammabar_array, j_fine, pi_fine_array = Dividend().arrays_beliefs()\n",
    "\n",
    "pi_cutoff = np.empty(len(eta_grid))\n",
    "q_star = np.empty(len(eta_grid))\n",
    "w_star = np.empty(len(eta_grid))\n",
    "phi_array = np.empty([len(eta_grid),n])\n",
    "phi_fund_h_array = np.empty([len(eta_grid),n])\n",
    "phi_fund_l_array = np.empty([len(eta_grid),n])\n",
    "rbalance_fund_array = np.empty([len(eta_grid),n])\n",
    "q_fund_array = np.empty([len(eta_grid),n])\n",
    "w_array = np.empty([len(eta_grid),n])\n",
    "q_array = np.empty([len(eta_grid),n])\n",
    "rbalance_array = np.empty([len(eta_grid),n])\n",
    "phi_l = np.empty(len(eta_grid))\n",
    "w_l = np.empty(len(eta_grid))\n",
    "omega_array = np.empty([len(eta_grid),n])\n",
    "omega_L_array = np.empty([len(eta_grid),n])\n",
    "omega_H_array = np.empty([len(eta_grid),n])\n",
    "omega_test = np.empty([len(eta_grid),n])\n",
    "omega_L_test= np.empty([len(eta_grid),n])\n",
    "omega_H_test= np.empty([len(eta_grid),n])\n",
    "omega0 = np.empty([len(eta_grid),n])\n",
    "omega0_test = np.empty([len(eta_grid),n])\n",
    "b_array = np.empty([len(eta_grid),fine_multiplier*inft])\n",
    "gain = np.empty([len(eta_grid),n])\n",
    "gain_fund = np.empty([len(eta_grid),n])\n",
    "epsilon = np.empty([len(eta_grid),n])\n",
    "for j in range(len(eta_grid)): \n",
    "    eta = eta_grid[j]\n",
    "    result = Dividend(given_eta = eta,given_n=n, given_pi_array=pi_array, given_sbar_array=sbar_array, given_gammabar_array=gammabar_array).equm_allocation() \n",
    "    pi_cutoff[j], q_star[j], w_star[j], phi_array[j,:], phi_fund_h_array[j,:], \\\n",
    "    phi_fund_l_array[j,:],rbalance_fund_array[j,:], q_fund_array[j,:],rbalance_array[j,:], \\\n",
    "    q_array[j,:],w_array[j,:], phi_l[j], w_l[j] \\\n",
    "    , omega_array[j,:],\\\n",
    "    omega_L_array[j,:], omega_H_array[j,:],omega_test[j,:],omega_L_test[j,:],omega_H_test[j,:], \\\n",
    "    omega0[j,:], omega0_test[j,:],b_array[j,:], gain[j,:], gain_fund[j,:], epsilon[j,:]= result \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot Figure 9 Left Panel\n",
    "\n",
    "eta_label = eta_grid[1]\n",
    "plt.plot(pi_array[:],phi_array[1,:],label=r'$\\eta$ = ' + str(eta_label))\n",
    "plt.plot(pi_array[:],phi_fund_h_array[0,:],':',color='lightcoral',label=r'$\\bar\\phi_j$ and $\\underline\\phi_j$')\n",
    "plt.plot(pi_array,phi_fund_l_array[0,:],':',color='lightcoral')\n",
    "# plt.ylim(0,phi_array[0,-1]+0.05)\n",
    "plt.xlim(0,1)\n",
    "plt.xlabel(r'$\\pi$', fontsize=16)\n",
    "plt.ylabel(r' price, $\\phi$', fontsize=16)\n",
    "plt.legend(fontsize=16)\n",
    "plt.tight_layout\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEaCAYAAAASSuyNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAA/KklEQVR4nO3deVhV1frA8e9iRgUPKM6CgvMs4FBmZaJllpmpmTaZic1zkbfbeCvD7r2/uo1imZo5gWWpZYFzpSngrGmC84gizsi0fn/sgwEycwYO5/08D4+cc/bZ690g717n3WuvpbTWCCGEqPlc7B2AEEII25CEL4QQTkISvhBCOAlJ+EII4SQk4QshhJOQhC+EEE5CEr6oFpRSSUqpSDvHMFwplaKU0kqp4TZqM0UpFV2F90crpU6bv8r98zO3m1TCa1PM+0ux1c9B2IabvQMQojpQSgUDU4EwrXWqDZuOAirVnvlEEQq0BIKBZUqpVK11QhnvewnIKOG1JCBBa+2nlDIB/pWJTVRP0sMXwhABJNo42aO1jtNaJ1fy7ZHABK11hnkfUeavEpmT+ERgXjGvvQSka62jzLFl2PrnIaxLEr4QDkgpFQqYiiTkRIwTV2migRiK/1Qx0fy6qKEk4QuLMdd+Y4s895JSKt78fWSBGnmSOWmVtK9CNf2C+zE/NimlYgvUmkvcV4HtC9amXyrwWjQwBYgoqxZeoM5/ushXpWrxxRxnfoz5P6PgEt7qz9VlmdT8Yy2hrWBgJDCphNdM5u/jzTHEF91OODap4QtLmgIUvRA4gb/LDOkYNfIMc5JbBvhVsq1YINVca44ox76WUbg2HauUCtFaT9BaRymlUoARWusBJe3AfFLx11qHKKUitdYx5ucsUvowXyAN11r7FWgvvYTNTaW8VpIpQIz551/0tfwTywRghPn7ZUqpKVrrCRVsR1RT0sMXFmOuI6fmj+wokCDjzK/Haa0zzN/HAKayeubFMb8nPD8RmS9SJpgTf3HbR2CUP67UpjGSWmRJveESpJrjBnNvGIgoKdmbP9FU9PiClVIRSimT1jo5/+dVjAwqcEHV/DMIz/8ZFMNk/neSuXafgXGituvIKWFZ0sMXljYFo5cYZ/53fv4L5uQaDYTzd4KpjHCMk0VKkedLKn+EUqRmXaCXGwyU66JpfvI1lz8yzE+HlLJ9TEmvlbB9nHnfUzASfwLGp46MYjZP5+qfYXDBOIsYgfEzKzQ9rvnxCMw/nyIXkK+UiEo58QgHIj18YWkxGLVwE0a9eApcSfangXitdZjWusREWYJ6Bb5PB5K11iFFvkpKsKkYJ4krCtTGK1OKmQDkD3286iRjvl4QUZmavtZ6svln44fRgy+2h52fmIt8gogoEFfR7SdorVX+F0bvPdn8OK7A/goeT2knEOGAJOELizInhwSMnnx6gR5jfvkhv9dY1g09qZh7z+YkdGV7c4nIVOTC6/CSyifm7dPNF0RN5pPPlXp2hQ7QMLxAGce/mHbDzWWmCpVzzCeJgmWpsmr0kzHuHcj/GRUaZaOUCq5gSSkKKPgzisY4uYkaQhK+sIYpGD3TKflPmBNkHJBkLsX0wEjqGaXtw7xtlPlxwW3DgB75o2SAAZTeWw/DOOnsxbiwnFyZi5HmE1VcgacSKNLL11onmBNmwXjLK8p8PHsxLgZPLmlDcz0+wbx9PBBV5Kar4ZhPCOVhbiuZv39G8ypalhLVm5IVr4SwPPOJwV8SpqhOpIcvhHUMoIR6uhD2IglfCOsIlmkJRHUjCV8ICylwN28wRk1diGpFEr4QFmIe8ZOCcTNWiRdbhbCXan3Rtn79+rpFixb2DkMIIRxKUlLSSa11QNHnq/Wdti1atCAxMdHeYQghhENRSu0v7nkp6QghhJOQhC+EEE5CEr4QQjgJSfhCCOEkJOELIYSTkIQvhBBOoloPyxRC2MaZM2c4efIkWVlZ9g5FlMDV1RUfHx/8/f3x9PSs1D4k4QthYT9vP0ZQvVq0a+Rr71DKJTMzk+PHj9OsWTO8vb0pZr1bYWdaa7Kzszl79iwHDhwgMDCwUklfSjpCWNDFrByenLORqAVb7R1KuaWlpREQEECtWrUk2VdTSik8PDyoX78+fn5+pKdXdP16gyR8ISxobcopsnLy2Hwwg00HM+wdTrlkZmZSp04de4chysnX15dz585V6r2S8IWwoJW70vB2d6WOpxszf99n73DKJScnBzc3qe46Cnd3d3Jzcyv1Xkn4QliI1pqVu09wbUg97gptyuItRzl5/rK9wyoXKeU4jqr8riThC2EhKWnnOZh+iX7tGnDfNS3Iys1j7voD9g5LiCsk4QthIct2ngCgf/sGtGpQh76t6zNr3QFycvPsHJkQBkn4QljIsp0n6NDYl8Z1vQG4/5oWHDubSfyO43aOTNhSVFQUISEhhISEEBNTvdawl4QvhAVkXMwicX86/ds3uPLcTe0a0MzPm+kOcvFWVF1UVBQJCQkkJSWRlJREdHQ0cXFxJW4/YMAAlFKFviZPtt5iaZLwhbCAVbvTyNNGks/n6qK4r3cQf+xN589jZ+0YnbCVmJgYYmNjMZlMmEwmoqKimDRpUqnvmTJlClrrK18vvfSS1eKTsVhCWMCynSeoV9uDrs1MhZ4fGd6c/8bvZsbv+5g0rIt9gqukNxdtZ8cR+56oOjTx5fXbO9o1hvJKTk4mIyOD4ODgK88FBweTnJxsx6gKkx6+EFWUk5vHyl0n6NeuAS4uhYfM+dX24M7uTfk2+TCnHGSIpqOLiYlhwoQJZGRkEBcXR1xcHBMmTLB64k1PT8dkMhV6Lj/5Z2RklPi+2NhY/Pz88PPzs2o5B6SHL0SVJe0/zdnMHPoXKOcU9HDflszdcJBZ6w7wdERrG0dXeY7Ssy4oISGBkSNHkpSUxIgRI4iPj7/y2qRJk4iNjS32fVFRUaUmZQCTycTEiROvSur5inu/v78/UPzJIF96ejp79+4FICwsDJPJRGRkZKmxVJYkfCGqaPmfJ3B3VVzXun6xr7dq4EO/tgF8vW4fE24Ixsvd1cYROo/g4GBMJhOJiYlMnTr1yvOpqalXkm9xoqOjq9y2yWQq8aRRUttTpkzB39//yslgwoQJREdHWy3hS0lHiCpa9ucJerWsh4+Xe4nbjO8bzMnzWSzceNiGkTmf/BJKamoqoaGhV56Pj49nwIABVm27uKSempoKUGLvPv8Elc9kMl15jzVID1+IKth78gJ7TpxnTK/AUre7JqQe7Rv78sWve7m7R3OZysCKEhISCA8Pv+q5kso5YJmSTmhoKCaTieTk5Csnm4SEBCIiIkrcZ0ZGRqH9paSkFLroa2mS8IWogp+3HwNgYMdGpW6nlGJ835Y8N38zK3en0a9t8fV+UXVFe/P5CbikRA2WKekAREZGEhUVRXx8PKmpqUyaNKlQaSkjI+PKp4/k5GTGjx9PbGzsldE8kydPLvXEVFV2K+kopSzzExbCjn7efoxOTX1pavIuc9vbujShoa8nX6yx3kd2YZRRhg8ffuXxvHnzSu1lW1J0dDShoaGEhIQwYMAAoqOjC8USExPDiBEjAOMTwcSJExkwYAB+fn6MGDGC2NjYQttbmtJaW23nJTaqVAQwQWs9orTtwsPDdWJioo2iEqJijp/NpNe7y3h+QBue7F++0TefrUwheumfLHnqOjo2qWvlCMtn586dtG/f3t5hWE1YWBjR0dE2S/q2UNbvTCmVpLUOL/q8zXv4SqlgQLo4wuH9Yp4j5+ZOpZdzChrdM5BaHq58uWavtcISRSQnJ9eoZF8V9ijpBGutS0z4SqlIpVSiUioxLS3NlnEJUSG/bD9Gy/q1ad2g/KtF1a3lzt09mvPD5iMcOn3RitEJMJK9NUskjsamCV8pFaG1TihtG611jNY6XGsdHhAQYKvQhKiQMxezWZtyioEdG1Z4xM34vsEoBVNXywddawsNDbXqRVBHY+sefrpSKkIpNRwIVkqFlvkOIaqhFbtOkJOnubmM0TnFaWLyZmi3pszdcNBhVsQSNYNNE77WOtncw/cHTLZsWwhL+nn7MRr4eNKtyGRp5fXIjSFk5eYx7Vep5QvbscuwTHPZJkRrXX2mkROinDKzc1m5K42BHRteNVlaeYUE1GFQp0Z8vXY/ZzOzLRyhEMWTqRWEqKCVu05wKTuXWzo2rtJ+HruxFecu5zBr3X4LRSZE6SThC1FBi7ccpV5tD3oHlzwZV3l0alqX69sEMO3XvWRm51ooOiFKJglfiAq4lJXLsp0nuKVTI9xcq/7n89iNIZw8n8X8xIMWiE6I0knCF6ICVpjLOYO7VK2ck69XS39CA01MWZVKVk6eRfYpREkk4QtRAUu2HKV+HQ96taxnkf0ppXiqf2sOZ1wiLumQRfYp7CsqKoqQkBBCQkKIiYmx+PZVIbNlClFOF7NyWPbncUaENce1kqNzinNDmwC6NTfxyYo9DA9rhoeb9MMcVVRUFAkJCSQlJQHGPD7+/v4l3u0bFRVFamoqKSkpZGRk0LJlS4KDg602FYT8zxKinJb/eYLM7DyLlXPyKaV4JkJ6+TVBTEwMsbGxmEwmTCYTUVFRTJo0qdhtMzIymDx58pWpmfOXNrTUVM3FkYQvRDkt3nyUAB9PerSo2uic4hTs5Ust3zElJyeTkZFRaAGT/Hnui5M/E3DB7Xv06IE1ZwiWko4Q5XDhcg4rdp1gVA/LlnPy5ffyH/xqAwuSD3FPz9JX0LKJn16GY1vtG0OjzjDovQq9JSYmhqSkJKKjo0lIMKbuio+PZ8KECYWWPbS04hYqz0/mRVe2KklwcHCZK29VhSR8Icrhlx3HuJyTx21dm1itjfxe/sfL93BXqNTyKyMhIYGRI0eSlJTEiBEjiI+Pv/LapEmTSpxIzRJLHBb3/vx1bos7GeQvw1jwZJDfuy/vCaKiJOELUQ7fbTxCU5M3YYF+Vmuj2vXyK9izrg7yFwVPTEwstLRgampqsYuM57NE3dxkMpV40iiubZPJRERExJUTU2pqaqF6vjVIF0KIMqSdu8yvf6UxtHuTSs+dU14Fe/mXc+Tu24rKL6Hkrxubr+g6t9ZQXFJPTTWmwC4pged/4ggJCSE6OpqoqCirlp2khy9EGRZvOUKehqHdmlq9LaUULwxsy71f/sHsPw4wtk9Lq7dZ0yQkJFwplxR8rrR58S1R0slfKD1/0fT8dksbYmkymQqVnUaMGMGECRNKjaMqJOELUYaFGw/TobEvrRv62KS961rXp0+reny8fA8jwptTx1P+TCuiaG8+PwGXViax1FDIyMhIoqKirpRoJk2aVKi0lJGRUejTR3Jy8pUy1OTJk0lNTSUyMtIisRRHSjpClGLvyQtsPnSGO7tbv3df0Is3t+PUhSyZL78SUlNTC93oNG/ePJutaRsdHU1oaCghISEMGDCA6OjoQrHExMQwYsSIK48TEhJo2bIlfn5+pKSkXLlhy1qU1tqqDVRFeHi4tuaYVCHK8n/xu/nf8r9Y+3J/GtX1smnbE75O5Lc9p1j9Uj/8a3tYrZ2dO3fSvn17q+3f3sLCwoiOjq5RC5mX9TtTSiVprcOLPi89fCFKoLVm4abDXBtSz+bJHuCFgW25mJXDZyv32LztmiQ5OblGJfuqkIQvRAk2Hsxg/6mL3GGDi7XFad3Qh2GhzZixdj9HMi7ZJQZHl5ycXOI8Ns5IEr4QJYhLOoSXuwuDOlV8oXJLeSaiNWj437K/7BaDIwsNDS11dI6zkYQvRDEys3NZtPkIt3ZqjI+Xu93iaOZXizG9A5mfeJCUtPN2i0PUDJLwhSjGz9uPcS4zh+HhzewdCo/3a4WXuyv/+WWXvUMRDk4SvhDFiE08RDM/b3pbaKGTqqhfx5PxfYP5cesxkvaftkob1Xm0niisKr8rSfhCFHE44xK/pZzkrtBmVp9Kobwm3BBMAx9P/rV4h8WTs7u7O5cuyUVhR3Hp0iU8PT0r9V5J+EIUsSDpEFrD8DD7l3Py1fJw44Wb27LpYAaLthy16L4bNGjA4cOHuXjxovT0qymtNdnZ2aSnp3Po0CHq1avcJ0+5Z1uIAvLyNHFJh7gmuB7N/WvZO5xC7gptxvTf9hH9058M7NAQL3dXi+zX19cXgCNHjpCdnW2RfQrLc3Nzw8vLi8DAQLy8KndfiCR8IQpYvy+dA+kXjeGQ1Yyri+Kfg9sz+os/+Oq3fTx6Y4jF9u3r63sl8YuaS0o6QhQwZ/0BfLzcuMWOY+9Lc22r+kS0b8gnK/Zw8vxle4cjHIwkfCHM0i9k8dPWY9wV2oxaHtX3w+/EW9uRmZ3L/8XvtncowsFIwhfCLC7pIFm5eYzuVQ3Wky1FSEAd7u0dxJz1B9h9/Jy9wxEORBK+EBgXa2f/cYAeLfxoY6N576vi6f6tqePpZpVhmqLmkoQvBPB7yin2nbrImF5B9g6lXPxqe/DsgDas+eskv+w4bu9whIOQhC8EMHv9fvxquVfbi7XFua93EG0b+vDWoh1kZsv6t6JskvCF0ztxNpNfth9neFgzi41ttwU3VxfevKMjhzMu8enKFHuHIxyAJHzh9OYnHiQnT3NPz+p9sbY4vYPrMaRrEz5flcKBUxftHY6o5iThC6eWm6eZs/4g14bUIzigjmV2euAPyDhomX2VwyuD2+Puonhr8XabtSkckyR84dRW707jcMYly12sPb0fpg+GGbfDZdvMX9/Q14un+rcmYecJlv8pF3BFySThC6f21e/7CPDxZECHhpbZ4cr3QCk4vQ+WRllmn+Uwtk9LggNq86ZcwBWlsHnCV0pFmL+ibd22EAXtOXGO1bvTuL93EB5uFvhTOLYNNs+BnpFw3bOwcRbs+KHq+y0HDzcX3hzSkf2nLjJ1dapN2hSOx6YJXykVCoRqrROAUKVUsC3bF6Kgr37bh4ebi+XurI1/DbzqwvUvwI0ToUl3WPQUnD1imf2XoW/rAAZ3bsxHK/aw7+QFm7QpHItNE77WOllrPVkpZQJStdbSFRF2kXExiwXJhxjarQn16lRuMYlC9iyDlGVww0vg7QduHjDsC8i5DAsfhby8qrdRDq/d3gFPVxdeWbhV7sAVV7FXDT8cKHbgsFIqUimVqJRKTEtLs3FYwlnM3XCQzOw8xvZpWfWd5eUavXtTEPR4+O/n67eCm9+F1JWw7tOqt1MODX29eOmWtvy25xTfbTxskzaF47BLwjeXdEKUUsOLeS1Gax2utQ4PCAiwQ3SipsvJzWPm7/u4Jrge7RtbYA74zXPh+DaIeB3cinxaCHsQ2t0GCW/AoaSqt1UOY3oF0T3QxNtLdnL6QpZN2hSOwdY1/GilVKT5YQbgb8v2hQD4eftxjpzJ5KHrLNC7z7oIy9+GpuHQcdjVrysFd3wMPo0h9kG4ZJ1FyAtycVFMGtaZs5eyeffHnVZvTzgOW/fwpwCpSqkIwKS1jrFx+0Iw7be9BNWrxU3tGlR9Z+s+gXNHYODbRnIvjrcfjJgO547CwsfBBrX1do18ebhvMLFJh1ibcsrq7QnHYOuLtqla6wTz1wRbti0EwOaDGSTtP80D17TA1aWEBF1e547Drx8aJZuga0rftlkYDHgLdi2xWT3/6f6tae7vzSvfbZWx+QKQG6+Ek5m6JpU6nm6MCG9W9Z0lvA65l41EXh69HzVODvGvwaHEqrdfBm8PV94Z2pnUkxf4ePkeq7cnqj9J+MJp7Dt5gR+3HuXe3kH4eLlXbWcH/jBusrr2SahXzsXE8+v5vk0gdixcTK9aDOVwfZsAhoU25bNVKWw7fMbq7YnqTRK+cBpTVqfi5urCQ31aVG1Hebnw4wvg2xT6Pl+x9xaq59tmfP5rt3XAv7YHL8ZtISvHNvcDiOpJEr5wCifOZrIg6RDDw5rRwNerajtLngHHtsDAf4FH7Yq/v2kY3DIJdi+FVdafYcRUy4N3hnZi59GzfCbz5js1SfjCKXz5215y8vKYcH0VZ/O4mA7L3oIWfYsfhllePR6GbmNg1Xuwc3HVYiqHgR0bMaRrEz5e8Rd/Hjtr9fZE9SQJX9R4Zy5l8826Awzu0oSgepXokRe0/G3IPAuDJpc8DLM8lILB/4UmofDdBEjbVbW4yuGNIR2p6+3Oi7FbyMmV0o4zkoQvarxZ6/Zz/nIOj9xQxd79kY2Q9BX0HA8NO1Q9MHcvuHsWuHvD3NGQad2Lqv61PfjXHZ3YevgMU2RGTackCV/UaJnZuUz7dS83tAmgY5O6ld9Rbg788BTUbgD9/mG5AOs2hZEzjfnzF4y3+kXcQZ0bM7hzYz5MkNKOM5KEL2q0+YkHOXUhi0dvLOfQyZKs+9S4UHvr+8YUyJYUdC3c8h789TOseMey+y7GW3d0xNfbjWfnbeZyjtyQ5Uwk4Ysa63JOLp+tTCEsyI9eLaswbdPpfbDiXWh7K7S/3WLxFdLjYQi9H9b8G7bMt04bZvXqeBJ9Vxd2Hj3Lf+N3W7UtUb1Iwhc11rwNBzl6JpNnI9qgKnuBVWtY/By4uBq9+6pcqC2NUnDrf4zRP98/DvvXWqcds/7tG3JPz0BiVqfyR6rMteMsJOGLGikzO5dPVuyhRws/+rSqV/kdbY0zFjbp/xrUtcB0DKVx8zDq+aZA4yJuunUvrP5zcHsC/Wvx3PzNnMvMtmpbonqQhC9qpLnrD3D87OWq9e4vpsPSl40bpQoubGJNtfxh9HxAwzcjrTqdcm1PN/47shtHz1zizUU7rNaOqD4k4YsaJzM7l09XptCrpT/XhFShd//ji5CZAbd/aJR0bKVeCIyaDRn7Yd59kGO9RUzCgvx4vF8r4pIOsXTbUau1I6oHSfiixpn9xwFOnLvMswOq0Lvf8T1si4PrX4JGnS0bYHkEXQtDPoZ9a2Dxs1adQ/+p/q3p3LQuE7/dyolzmVZrR9ifJHxRo2Rm5/LZqhSuCa5H7+BK9u7PpxlJtnE36PucReOrkK53ww0vw6ZZVh2u6e7qwv/d3ZWLWbk8P38zeXmy+HlNJQlf1Ciz1u0nzdy7rxStYclzcPkc3Pk5uFZxGuWquvFlCH0AVr8P66darZlWDXx49bYOrPnrJFPXyF24NZUkfFFjnM3M5pMVe+jbuj49KzvuftsC2PmDcTdtg/aWDbAy8ufcaXurcU1h+3dWa2pMr0AGdWrE+z/vYtPBDKu1I+xHEr6oMaasSuH0xWyibmlXuR2cOwZLnodmPeDapywbXFW4usHwadC8F3wbCXtXW6UZpRTvDetCQ18vnpyTzFkZqlnjSMIXNcKxM5l8+ete7ujWhE5NKzH1QV6esSBJzmUY+pltR+WUh7s33DMH/INh7hg4ttUqzdSt5c7/7unOkYxM/vHtVrQNFlwXtiMJX9QIHy7bTW6e5oWBbSu3g3WfQspyuOVdqN/assFZSi1/uHcBePrA13fCSeusUxsW5MdzA9qweMtR5icetEobwj4k4QuHt+fEeeZtOMi9vYNo7l+r4js4uhkS3jAWGA8ba/H4LKpuM7hvoXFxeeYQY54fK3j0hhCua1Wf13/Yzl/Hz1mlDWF7kvCFw5u89E9qebjxRL9WFX9z1gWIGwe168OQj6w3V44lBbSB+783Yp8xBM4ctngTLi6K/97dlTqebjwxeyMXs3Is3oawvUolfKVUNwvHIUSlJO1P55cdx5lwfTD16nhWfAdLJ8KpPXDnFKNk4igadYL7vjWmf5h5B5w/YfEmGvh48X93d2P3iXO88t02qefXAJXt4Q/I/0Yp9Z5S6hel1Dyl1MNKqRaWCU2I0uXlaf61eCcBPp6M69uy4jvYvtBYkLzP0xB8g8Xjs7qmYTAmFs4ehplDjeRvYX1bB/BsRBu+23iYb/44YPH9C9uqVMLXWr9f4GG81nogEAmcBl5WSv0snwKEtS3cdJhNBzOIuqUdtTzcKvbmUynw/RNG0uz3inUCtIWga4x5d07tgVnDrLJM4hP9WnFj2wDeWrSDzTI+36FZooafqpTqprU+o7VeoLV+RGt9MxBugX0LUawLl3N476c/6dqsLsO6N63Ym7Mvwfz7jfHtI2YY0xI7spB+xrTKx7bCrOEWT/ouLor/G9mNAB9PHvsmmdMXrDeZm7CuKid8rfVerfWmgs8ppboDA6u6byFK8unKPZw4d5nXbu+Ii0sFL7T++AIc3wbDpoKpuXUCtLW2t8Dwr+BIsjFk81KGRXfvV9uDz+4NJe3cZZ6Zt0nm23FQFh2lo5SqC6C13qi1HmnJfQuR78Cpi0xds5c7uzclLMivYm/eOMv4uv5FaD2g7O0dSYchRk//6BbjQq6Fa/pdmpl4fUgHVu1O46Pl1rkHQFhXZUfpzCvw/YtKqUnmi7V+SqlhlgpOiOK8++NOXJWq+BQKx7YZUye0vB5unGid4Oyt3WAY9Q2c2GGM07dw0h/dM5BhoU35YNluVu1Os+i+hfVV9qLt3QUeJgPzgZeBGAqM4BHC0n7fc5Kl24/xeL8QGtX1Kv8bL6YbywZ6+8FdX1a/qRMsqc3NMGoOpO2G6bfBhZMW27VSineGdqZtQx+enruRA6cuWmzfwvosctEW0OaLtQO11o9aYJ9CXOVyTi7//H4bzf29ebhvcPnfmJsDsQ/AuaNw9yyo08B6QVYXrSNg9DxjXdzpg+HccYvt2tvDlSn3haE1jJ+ZyIXLclOWo6j0jVfmMffdirtoK4Q1TF2dSmraBd66oxNe7hXooce/aswwefuH0MyJBo+F9DPG6WccgGk3W3QahqB6tfl4dHf+OnGOF2Jl0RRHUeGEr5R6D5gMjASWK6X+Ukr1s3hkQhSw/9QFPlq+h8GdG9OvbQV66JtmGxOj9XoUuo22XoDVVcu+xjQMl07DtFvgxE6L7bpv6wD+cWt7ftp2jI9XyEVcR1CZHv4Gc+lmoNbaH3gUmCg3Wglr0Vrz2vfbcXd14dXbOpT/jYcSYdEzxkXagW9bLb5qr3lPGPuTMeHaV4PgUJLFdj3uupYM696U/8bv5pftxyy2X2EdZSb8YqZMKPTZTWudYL7TNsIK8QnBj1uPsWp3Gs8PbFP+C7Wn98OcUeDb2Li5yrWCd+LWNA07wENLwasuzLgdUlZYZLdKKd4d1pmuzery7LxN7JaZNau18vTwwzBuokpWSp0CJiilPlNKBRXZLsPSwQlxNjObNxdtp1NTX+7rXfS/XAkuZcA3IyA3G0bHOtakaNbk3xIe+hn8gmD2SNjxg0V26+Xuyuf3heHt4cb4mYlkXJQ7caur8iT8CVrrkebyTTgQB9QDNiqlTpnnzfkZMJW1I6WUSSkVqpQarpSKrlLkwilE//Qnaecv887Qzri5luO/a04WzLvXGJ0y6htjKmHxN59GMPZHaNzNGLlkoYXRG9f1Zsp9oRzJuMRj3ySTnZtnkf0KyyrzL0hrvazA93u11lOLnAAmAyO11v8uR3sjgXCtdRyAUiqyknELJ/B7ykm++eMA4/q0pGtzU9lv0BoWPQ371sAdn0CL66weo0Py9oP7F0Lrm41pJuJfM5Z4rKKwIH/evbMzv6ec4tWFMp1ydVSlwqbWei+wtwLbxxR4GAzEF93GfBKIBAgMDKxKeMKBXczK4eUFW2lRrxbPl3fZwtXvw+bZcOM/oOvdZW/vzDxqG5+AfnwRfvsQzhwy1vJ1q8SaAgWMCG/OvlMX+GRFCsEBtYm8PsRCAQtLsMuKV0qpYCBda51Q9DWtdYzWOlxrHR4QEGCH6ER18P7PuziQfpHou7rg7VGOMfeb5sCKd6DraLjhJesHWBO4uMLg/0DEG7BtgXnStdNV3u3zA9oyuHNjJv30J0u3ycid6sReSxwO11pPsFPboppL3JfO9N/38cA1QfQKrlf2G3b9BN8/bgy/vP1Dx1imsLpQCq571phu4tAG+PJm40atKnBxUfxnZFe6NjPxzLyNbD1k+Tn6ReXYPOErpYZrrSebvw+1dfuiesvMzuWluC00NXnzUnkmR9v3G8Q+CI27GguBOPrc9vbSeTjc9x2cPwZfRMDh5Crtzsvdlan3h1OvtifjZmzgSMYlCwUqqsKmCV8pFQFEK6WSlFJJgIyXE4VEL/2T1JMXeG9YF2p7lnGJ6ehmY6y9KQjGxIGnj22CrKlaXGcM23T1hK9uhW3fVml3AT6eTHuwBxezchk3I5HzMueO3dk04Ztv0grRWoeZv66q4QvnteavNL76bR8PXtuC61rXL33jk3vg62HGjUT3fQe1y1H6EWVr0B7GLzc+McWNhRWTjNFPldS2kQ+fjAll9/FzPDk7mRwZrmlX9qrhC1FIxsUsXojdTOsGdXh5UBmlnDOH4euhxvf3LYS6FVziUJSuTgA88INxAXzVe0biz6r8NMg3tAngrTs6smJXGq9+L8M17cnJ7zcX1YHWmle+20b6hSy+fKBH6TNhnj1qTA2QeQYeWAT1W9kuUGfi5glDP4UG7SD+dUjfC/fMAd8mldrdmF5BHM3I5OMVe2jo68UzEXJDnD1ID1/Y3XcbD7Nk61GeHdCGTk3rlrzhuWMw4zY4f9yo2TfpZrMYnZJS0OdpI9Gf2gMx/ao08drzA9swPKwZHyT8xdz1VRsJJCpHEr6wq/2nLvDa99vp2cKfCaXdpHPuuNGzP3vUSPaBvWwXpLNrOwjG/WKMgPrqFkiaUandKKWYNKwzN7QJ4JWF21i203KLsojykYQv7OZyTi6Pz07G1UXx37u74upSwvj58yeMZH/mkLGgR9A1tg1UQMOOELkKgvrAoqeMKSxyLld4N+6uLnw6JpSOTXx5fHYyGw9U/UYvUX6S8IXdvLtkJ9sOn+XfI7rSzK9W8RudT4MZQ4ybgUbPhxZ9bBuk+Fstf7h3gXGjVtJ0Y+jmmcMV3k1tTzemPdiDhr5ejJuRSGraecvHKoolCV/YxY9bjzJj7X4evq4lAzo0LH6js0dg+q3G0nyj5xmrNwn7cnE1pmIYORPS/oSYG4yb3yqofh1PZoztiQIe+Go9J85lWjxUcTVJ+MLm9p+6QFTcFro1N5V8N+3pfcaSfGePGr3K4BtsGqMoQ4c74OFlxn0QM4fAus8rPF6/Rf3aTHuwByfPZfHAtA2cuZRtpWBFPkn4wqYu5+TyxOyNKAUfj+6Oh1sx/wXTdsO0Qeahl99LGae6atDOuEmr9c2wNMoYr595tkK76NrcxJT7wthz4hzjpm/gUlaulYIVIAlf2Ng7S3ay9fAZ/jOyW/F1+6NbjHVX83KMhTqahtk+SFF+XnXh7llGmWfHD0aJ5+iWCu3i+jYBfDiqO8kHTvPIrCSycuRuXGuRhC9sZv6Gg8xcu5/I64OLr9vvX2uMs3fzMhbdbtjR9kGKinNxMS7kPrgEsjONydcSp1WoxHNr58a8e2dnVu1O49n5m8jNk7txrUESvrCJjQdO88+F2+jbuj4v3VzMgiY7foCZd0DtBvDQT3IHrSMKugYeWWNcXF/8LCx4GC6Xf1HzUT0D+cet7Viy5Sj/XLhVpmCwAkn4wupOnM3kkVlJNKrrxUf3dL96bdo/YmD+/caEXeN+AZOsdOawatc3Fo7v/xps/xZiboRj28r99sjrQ3i8Xwhz1h/kvaV/Wi9OJyUJX1jV5ZxcHpmVxNlLOcTcH4apVoH56vPyjPVUf3oR2g02JuyqJTNmOzwXF+j7PDywGC6fhy/6w4Yvy13ieWFgW+7tHciUVal8tjLFysE6F0n4wmq01rzxw3aSD2Twn5FdadfI9+8Xc7LguwnGeqrh44xx3e7e9gtWWF6LPvDIr8bduUueg7lj4MKpMt+mlOKtIZ0Y0rUJ0Uv/5Ot1+20QrHOQhC+sZvrv+5iz/iCP9wvh1s6N/37h0mn4ZjhsnQ83vWqsq+pSjnVrheOpE2DMfXTzJNgTD5/3gdSVZb4tf5nE/u0a8OrCbczfcND6sToBSfjCKuJ3HOetxTsY2KEhzw0ocJH25F8wtT8cWAtDP4frX5A1aGs6Fxe45jHjRi1PH5g51JhyOSer1Le5u7rwyZhQ+rauT9S3W1i4seLTOIjCJOELi9t66AxPzdlIl6Z1+XBU978nRUtZbtRz8+ey73aPfQMVttW4izEBW9iD8NsH8OUAY+WyUuSvjdu7ZT2em7+JJVuO2iTUmkoSvrCowxmXeGjGBvxre/DFAz3w9jCXatZPhVnDwbeZcXdmYG/7Birsw6MW3P6BcbNWxn6Ycj1snFXqBV0vd1e+fDCcsCA/np67kV+2H7NdvDWMJHxhMWczs3noqw1kZucyfWwPAnw8ITcbFj8HP74ArQfCuJ/BL8jeoQp7a387PPIbNA2F7x+H2AdKvaBby8OYYbNT07o8PjuZFbtO2DDYmkMSvrCIyzm5PDoriZS083x+bxitG/qYFy0ZAolfGisnjfrGqOEKAcZaxPd/b0zL8OeP8Nk1sPvnEjf38XJnxkM9advIhwlfJ/HbnpO2i7WGkIQvqiw3T/PM3E38tucUk4d3oU+r+nBgnfFx/egmGPYFDHhLRuKIq7m4GtMyRK6AWvVh9kj44ckS79Ct6+3O1w/1Irh+bcbN2MAfqWUP8xR/k4QvqkRrzT8XbuWnbcd49bYODOve1Jgqd/pgo177cAJ0GWHvMEV116izkfT7PAPJX8NnfWD/78Vu6lfbg1kP96KpyZux0zewYV+6bWN1YJLwRZW8//Mu5qw/yBP9WjGuZwP4drwxVW6rATB+hUyAJsrPzRMGvGlMnKeUsaLWL68aE7IVUb+OJ3PG96ZRXS8emLae9Xsl6ZeHJHxRaV+sSeXTlSmM7hXI891yYOpNsDXOuJlq1GzwNtk7ROGIgq4xLuiGPQi//w+m9it2yuUGvl7MHd+bxnW9ePCr9ayT8k6ZJOGLSpm1bj9vL9nJrZ0a8nbzJNTUm+DiKbjvW+NmKhf5ryWqwLOOMXxzTBxcTDc6E6v/Dbk5hTZr4OvFnMjeNDF5M/arDaxNkaRfGvmrFBU2d/0B/rlwG7e3rcVHHh/jsvhpCDT3ykJusnd4oiZpPQAeWwvtb4Pl/4IvI+DEzkKbNPDxYs743jTz82bs9PX8LqN3SiQJX1RIbOJBJn63lbEtTvG/M0/juvMH6P863Pst+JSwGLkQVVHLH0ZMN74yDhijv4r09gN8PJk9vjeB/rV4aMYGGbJZAkn4oty+23iIlxdsYlKD5bx24lmU1vDQUuj7nJRwhPV1vBMeX29Mpb38X8Y0Hce3X3k5P+kH+dfmoekb+PUvSfpFyV+pKJcFSYf4YP4vLPGZxKgzX6Da3gqPrIbmPe0dmnAmteube/sz4MwhmHIDrHrfuKMbY/TO7PG9aGkep7/mrzT7xlvNSMIXZfp67T42fPt//Ow1kbbqANw5xZi/3tvP3qEJZ9VxqNHb7zAEVrxtXNQ1r6xVr47R0zeSfiKrdkvSzycJX5Tq6/h1NP3xAd5z/wL3oJ6oR9dC11EypbGwv9r1YPg0YyK2c8eM5RRXRkNuNv61PZg9vjchAXUYPzORZTuP2zvaakESviiW1prFcz7ltl/v4jq3HeTe/B6u938Ppub2Dk2IwtrfDo//YfT6V757Zdy+f20PZj/ci7YNfXhkVhJLt8nUypLwxVX0uePs/N9d3LZrIue9m+H6yBpcr3lULsyK6quWP9z1hXHD3/kTRtJfMQk/T5j1cC86N63L47M38v0m515ERf6Cxd+0Jid5Npf+L4yQ9FUsazyeps+vwbVhO3tHJkT5tBsMj62DTsNh1XswtR91M3Ywc1wvwoL8eGbeJmITnXe5REn4wpBxgJyZw3D74VF25jRifvgcbop8Hxd3D3tHJkTF1PKHYVPgnrlw4SRMvYk6v09mxv3d6BNSnxfjtjDLSRdGd7N3AMLO8vJgwxfkJbxOdnYe7+Q8QPshz3Jfz5b2jkyIqmk7yFhZbelEWBWN958/8uVtH/OoWwP+uXAbl3PyGHedc/0/t3kPXyk1XCkVb+t2RTGOboFpA+GnF9mQ25bbcv/N9ff+k5GS7EVN4e0Hd35u7u2n4flVf6Y2/4XBHerxr8U7+HRl6Wvq1jQ27+FrreOUUhNs3a4oIPMsrHgX1k8h28PEG+oJlnID0yJ70rW5yd7RCWF5+b39n17Gdc1kPm74I4Ftn2by0l1czs7jmYjWKCcYalztSjpKqUggEiAwMNDO0dQwWsO2BfDzK3D+OLsDRzJqTwT+9Rvy7QPhBNWrbe8IhbAebz+jtt9xKGrR07yU9ijdm9/L48tyyMzJ5eVb2tX4pF/tLtpqrWO01uFa6/CAgAB7h1NznPwLZt4BC8ahfRoR03YqA3ffQZfWLfj2sWsl2Qvn0XYQPLYO1Wk4A9Oms9r0FmtWL+fNRTvQWts7OquqdglfWNjl87DsLfj0GjiyiUsDJvOA6yTe3VyLh69ryZcP9MDXy93eUQphWwVG8jRyO8ciz1fxW/9vXl2wkby8mpv0JeHXVHl5sHkufBwOa/4DnYax956VDF7XlrV7M4i+qzP/vK0Dri41+yOsEKVqOwj12DpcugznabdvGb3lQf47K47cGpr07TFKJwIIV0oNt3XbTuPgBmOhiO8mgE8jeOgXFrd6g8HTdnP2UjazxvXi7h5yfUQIAGr5o4bFoEfNIcjzPE+nTODnj58mO+vqtXQdnc0TvtY6QWvtp7WOs3XbNd6Zw7DgYSPZnzkMQz8j+6EE3txchydmb6R9Y18WP9mXXsH17B2pENWOancrtZ9NZG+jm7k1fQbH/n0tWYc32zssi5KSTk2QddGYJfCjMNjxA/R9Hp5M4njwMO6Zup6vftvH2D4tmBvZm0Z1vewdrRDVVy1/2jw6h4SuH+B5+RQuU28ie80HRom0Bqh2wzJFBeTlwpb5sPxtOHsIOgyFAW+CXwtW707jufmbuJiVy//u6c6Qrk3sHa0QDiPizrHE1g+lzi/PM2jZ6+SmLMP1zs+hblN7h1Yl0sN3RFrDXwnG2p4LHzFWAXrwRxg5gyyfQN5ZsoP7p63Hv7YH3z/eR5K9EJUwom9Xzt0+jZeyI8nevx792bWw/Tt7h1Ul0sN3NEc2QfxrsHcVmILgri+h4zBwcWHvyQs8NWcjWw+f4d7egfxzcAe83F3tHbEQDmtkz0BcXZ9mUFw7YtxiaB37IOz+BQZFg5evvcOrMEn4juL0Plj2L9gWB97+cMt7EP4QuHmitWZB0iFe+34b7q4uTLkvjJs7NrJ3xELUCHeFNcPN9RYGz6vP2/5LGbFlLmr/b8b8+w62prMk/OruYjqsfh/WTwUXN+OCbJ+nwasuAOkXsnh14TaWbD1Kz5b+fHB3N5qYvO0ctBA1yx3dmuLm4sJTc93Z2KA77+iPcPlqEAx4C3o/5jBLfkrCr66yLsIfn8GvH0DWeeh+L9w4EXz/rsf/vP0Yr3y3lTOXsnnx5rY8ckOI3EglhJUM7tIYVxfFk3NgX8P3mRkyA/ef/wH7f4c7PgFvk71DLJOqznNHhIeH68TERHuHYVu5ObDpG1j5Hpw7Am0GQcQb0ODvVafOXMzmzUXb+XbjYdo39uU/I7rSoYnj1ROFcEQJO47z2DfJtG5Qm9hum6i16k3wbQojZ0CT7vYODwClVJLWOrzo8zJKp7rQGrYvhE97waKnoG4zY+TN6LmFkv3KXScY+MEqvt98hKduasX3j/eRZC+EDUV0aMiU+8P4K+0CwzZ248yo7yEvB74cCEkz7B1eqSThVwcpKyDmRoh9AFzcYdQcGPcLtOhzZZNT5y/z3LxNPPjVBny93PnusWt5bmBbPNzkVyiErfVr24AvHwhn78kLDF+cy8kxCdCir9FZ+/El45N6NSQ1fHs6lATL3oC9q6FuIAz9HLqMBJe/h1JqrVmQfJh3luzg/OUcnrypFY/3ayXDLYWws76tA/hqbA/GTU9kzOw9zHn4G/x/fxvWfgwnd8GI6cYc/NWI1PDtIW03LH8Ldi6CWvXh+hchfCy4eRbabO/JC7zy3VZ+TzlFWJAfk4Z1pk1DHzsFLYQozu97TjJ2+gZaNajD7Id7U3fXPFj0DJiaw+j5UL+1zWMqqYYvCd+WzhwyLsZu+gbca8G1T8E1j4Fn4SSelZNHzOoU/rd8D55uLrw8qB339AjERUbgCFEtrdx1gsiZSbRv4suscT3xOZEEc8eAzoUxcdDsqtxrVZLw7eliujEn/fqpgIYe46Hvc8aUCEWs2p3Gm4u2k5p2gcGdG/P67R1o4CsTnglR3f2y/RiPfZNMt+YmZjzUk9oXDsDXd8L5E3D319AqwmaxSMK3h+xLsPYT+O1DYyx919FwYxSYrp6L/sCpi/xryQ7idxynRb1avH57R/q1a2CHoIUQlbVky1GenJNMr5b1mPZgD7wvn4RZd0HaTvM1uhE2iaOkhC8Xba0hLw+2xhpLC549BG0HQ//XCg2vzHcpK5fPVu7h89WpuLkoXrqlLeOua4mnm1yUFcLRDO7SmOzcbjw7fxORXyfyxQPheI5dAnNGw7fjjY1slPSLIwnf0vb9Cj+/Akc3QeNuxrqZLa67ajOtNT9uPcY7S3Zw5Ewmd3RrwsRB7WW+eiEc3NDuTcnKyeOlBVt4bt5m/ndPd1zHxMLskcYqdK7u0HGoXWKThG8pJ/cYs1juWgK+zWDYVOg0HFyuHieffOA07y7ZSeL+07Rv7MsHo7rTs6W/HYIWQljDyB7NOXMpm3d+3Em9Oh68OaQj6p65RnlnwThjRF7bQTaPSxJ+VWVdgNX/ht8/Ajcvo3TT+zFwv3oCs/2nLjB56S6WbD1K/TqevHtnZ+7u0VzmvxGiBhp/fTAnzmUydc1eGvh48sRNrWFMLMy8A+IegrE/2nwqBkn4laU1/LkYlk6EMweNC7ID3oQ6V19oPX0hi4+W7+Hrdftwc3Hh6f6tibw+mNqe8uMXoiabOKg9J89n8e9fdlO/jiejegbC6Hkw9SaYPQrGL7fpKlqScSoj4yAsfhb2xEODjjD2Jwi69qrNMrNzmbl2Hx8v38P5yzmMDG/OswPa0FCGWQrhFFxcFJOHdyH9Qhb/+G4rAT6e9G/f0Ej6X94Mc0fDuHhw87BJPDIssyK0huSZxkVZnQc3vQI9J4Br4fNmXp5m0ZYjTF66i8MZl7ixbQATB7WnbSO5S1YIZ3Thcg6jYtaRmnaeBY9dS7tGvrBzMcwbA9c8ATe/Y9H2ZLbMqjp7xLjgsugpaNINHv0Nrnm8ULLXWrNy1wlu++hXnp67ibre7swa14vpY3tKshfCidX2dGPq/eHU9nTj4RmJnDp/GdrfZtyEufZjY41qG5AefnnsSYBvI40bqQa8BeHjrhp9s+lgBtE//cna1FM09/fmhYFtub1LE5kOQQhxxeaDGYycspYuzeryzcO98dBZEHMDZF+Ex/4Aj1oWaUd6+JWhNSx/B2YNhzoNIXIV9BxfKNmnpp3nsW+SGPrJb+w+fo43h3Rk2XM3cke3ppLshRCFdG1u4v0RXdmw7zSv/7Ad3L1g8H8h44CxlKmVyUXb0hzfBqsnG+Pph3xU6Ox7/GwmHyT8xfzEg3i5ufBMRGse7htMHRl5I4QoxZCuTdhx5Cyfr0qhd7A/d3TrA11GGaWdnuMLLWNqaZKdSpN51vg39L4ryf7MpWymrEph2m97yc3T3Nc7iCduakX9Op6l7EgIIf72/MA2bNiXzj++3UqXZiZa9psI2+KMNaxvnWy1dqWkU5o886o1Lu7k5Obx9br93Pj+Cj5dmcLNHRux7LkbeWNIR0n2QogKcXd14aN7uuPu5sLj3yRz2ac5dB0FSdON2XWtRBJ+afKyAdh05Dy3/m8Nry7cRttGPix+8jo+HNWdwHqWucAihHA+TUze/Ht4V3YcPctHy/YYQ7xzLxsTL1qJJPxS5OQYCf+1RbvIzM7j83vDmDO+N52a1rVzZEKImiCiQ0OGhTbl81UpbNdB0LirsUCSlUjCL8W+E2cAGNK9OfHPXc8tnRqhlIy8EUJYzmu3dcBUy4OoBVvIbX8HHN0M545ZpS1J+KXIzTZ6+D1CGsr89EIIqzDV8uCNIR3YdvgsCVmdjSdTllulLUn4pcjJyQLAzd3dzpEIIWqywZ0bExpo4rU/FNrTBw4nWaUdSfilyM01evjuNprYSAjhnJRS/OPW9hw/l8UxrxA4vt0q7UjCL0VejjEs091DEr4QwrrCW/hzTXA9Npyrjz61xyptSMIvRZ65pOMuJR0hhA2M7dOCfVl14MIpyMu1+P5tnvCVUsOVUhFKqUhbt11RubnSwxdC2E7/9g3JdPdDkQeXTlt8/zZN+Eqp4QBa6wTz4whbtl9R2jwO301q+EIIG3B1UQQ1CgBAZ1+0+P5tPZdOD2Ce+ftUIBSw+ETQGz4YReMzG6u8n9b6AiA9fCGE7TTx94GjkH7uIvVMlt23rRO+qcjjekU3MJd6IgECAwMr1Uiuf2uOmadFqKps30B6+5gssi8hhChLQEhXVh0dQVtXy0/dYtMFUJRS0UC81jrBXM4ZoLWOKmn7arMAihBCOJDqsgDKBv7u5QcD8TZuXwghnJZNE77WOg4INvfuTfkXb4UQQlifzRdA0Vrnz+4vyV4IIWxIbrwSQggnIQlfCCGchCR8IYRwEpLwhRDCSUjCF0IIJ2HTG68qSimVBuyv5NvrAyctGI4jkGN2DnLMNV9VjzdIax1Q9MlqnfCrQimVWNydZjWZHLNzkGOu+ax1vFLSEUIIJyEJXwghnERNTvgx9g7ADuSYnYMcc81nleOtsTV8IYQQhdXkHr4QQogCJOELIYSTsPlsmdZgXis3AwjWWl9V+yrrdUdU2jEppUwY6w0EAz1KW2TGUZT3d6iUiq4Jxwvl+n8divE7zp963OE58d/yBK31gFJez8ACx+zwPfyyFkZ3tIXTy6McxzQSCM9PAuZlIx1WeX+H5ueDbRia1ZTzmCeaf8f+SimHP+5y/C1HAKnm11PNJzyHV9rJ2tL5y+ETPsbC6Knm7/MXRq/I646o1GPSWscU6AkEF9jWUZX5OzQnPEc/zoJKPWbzSXyDUirY/PuuCcde1u85EYjN/2SjtU62ZXB2YtH8VRMSvqnI46ILo5f1uiMyFXlc7DGZk2B6DVhZzFTkcXHHG1xDkl4+U5HHRY85xPxculJqirmM5+hMRR4XOmatdQYwBYgFwmwTkt2ZijyuUv6qCQk/A/CvwuuOKIPyHdNwrfUEK8diCxmUcrxKqYgacFIrKoOyf8cp5iSYBDh02c4sgzJ+z0CC1joEyMgvd9RwGVgwf9WEhF/Wwug1ceH0Mo9JKTU8fznJGlDrLOt405VSEeYEEFwDjhfK9/86nwkjMTi6so45tEAZZxI1ryNXHIvmL4dP+CUtjK6Uii/tdUdW1jGbn49WSiUppZJw8D+McvyOk83P+XP1R2CHVM7/16b8i3g1YcRKWccMxCilIs2vj6wJxwxX/l7DC35isVb+kjtthRDCSTh8D18IIUT5SMIXQggnIQlfCCGchCR8IYRwEpLwhRDCSUjCF0IIJyEJXwghnIQkfCGEcBKS8IUQwklIwheinJRSw5VSKUqp00W+UpRS0faOT4iy1IgVr4SwtvwFRrTWIUqpSK11TP4kbU4yL7uoAaSHL0T5pBdYmchk/jeCmrXoiqjhJOELUQ7meeev9PTNQvKfF8IRSMIXomKigPwpah1+HVnhXCThC1ExEQVr9lVdVFoIW5KEL0Q5mReoiCvwVDI1ZMEV4RxkARQhhHAS0sMXQggnIQlfCCGchCR8IYRwEpLwhRDCSUjCF0IIJyEJXwghnIQkfCGEcBKS8IUQwkn8P+F9HbYXdyRvAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot Figure 5\n",
    "\n",
    "start0 = next(x for x, val in enumerate(b_array[0,0:fine_multiplier*n]) if val > 0)\n",
    "start1 = next(x for x, val in enumerate(b_array[1,0:fine_multiplier*n]) if val > 0)\n",
    "startdiff = start0 - start1\n",
    "plt.plot(pi_fine_array[0:fine_multiplier*n],b_array[0,0:fine_multiplier*n],label=r' $\\eta$ = 0.5' )\n",
    "plt.plot(pi_fine_array[startdiff:fine_multiplier*n],b_array[1,0:fine_multiplier*n-startdiff],label=r' $\\eta$ = 0.9' )\n",
    "\n",
    "plt.xlabel(r'$\\pi$', fontsize=16)\n",
    "plt.ylabel(r'$b_{ij}$', fontsize=16)\n",
    "plt.title('value of $\\pi_j$ is 0.46', fontsize=16)\n",
    "plt.legend(fontsize=16)\n",
    "plt.tight_layout\n",
    "# plt.savefig('lambda_P1_RSW.pdf')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [],
   "source": [
    "tolerance= 0.00000001 \n",
    "guessmin = 0.00000001 # the smallest pi\n",
    "fine_multiplier = 30 \n",
    "inft = 300\n",
    "class Baseline:\n",
    "    def __init__(self,\n",
    "                given_A=1,          #money supply\n",
    "                given_beta=0.9,    #discount factor\n",
    "                given_alpha=0.6,    #meeting prob\n",
    "                given_rho=1,        #bargaining power\n",
    "                given_gamma_h=9,   #div of high state\n",
    "                given_gamma_l= -6,   #div of low state \n",
    "                given_s_h=0.6,      #prob of receiving gamma_h in H state\n",
    "                given_s_l=0.4,      #prob of receiving gamma_h in L state\n",
    "                given_eta=0.3,      #prob of getting signals \n",
    "                given_zeta=0.01,    #prob of getting dividends \n",
    "                given_n = 10, \n",
    "                given_pi_array = 10,\n",
    "                given_sbar_array = 10, \n",
    "                given_gammabar_array = 10\n",
    "                ):\n",
    "        self.A = given_A\n",
    "        self.beta = given_beta \n",
    "        self.alpha = given_alpha \n",
    "        self.rho = given_rho \n",
    "        self.gamma_h = given_gamma_h\n",
    "        self.gamma_l = given_gamma_l \n",
    "        self.s_h = given_s_h \n",
    "        self.s_l = given_s_l \n",
    "        self.eta = given_eta\n",
    "        self.zeta = given_zeta\n",
    "        self.n = given_n\n",
    "        self.pi_array = given_pi_array\n",
    "        self.sbar_array = given_sbar_array\n",
    "        self.gammabar_array = given_gammabar_array\n",
    "    \n",
    "    def arrays_beliefs(self):\n",
    "        A = self.A\n",
    "        beta = self.beta  \n",
    "        alpha = self.alpha \n",
    "        rho = self.rho  \n",
    "        gamma_h = self.gamma_h\n",
    "        gamma_l = self.gamma_l \n",
    "        s_h = self.s_h \n",
    "        s_l = self.s_l \n",
    "        eta = self.eta \n",
    "        zeta = self.zeta\n",
    "\n",
    "        def update(y): \n",
    "            \" belief updating after receiving a good news, get pi_prime given pi \"\n",
    "            return y*s_h/(y*s_h + (1-y)*s_l)\n",
    "\n",
    "        diff = 10 #to calculate the time horizon\n",
    "        pi = guessmin \n",
    "        count = 1\n",
    "        while diff > tolerance:\n",
    "            pi_prime = update(pi)\n",
    "            count += 1 \n",
    "            diff = 1 - pi_prime\n",
    "            pi = pi_prime\n",
    "        n = count #time horizon \n",
    "\n",
    "        pi0_guess = guessmin\n",
    "        a = np.empty(n)\n",
    "        a[:] = np.nan\n",
    "        pi_array = np.copy(a) \n",
    "        pi_array[0] = pi0_guess\n",
    "        sbar_array = np.copy(a) \n",
    "        gammabar_array = np.copy(a) \n",
    "\n",
    "        pi0 = pi0_guess\n",
    "        pi = np.copy(pi0)  \n",
    "        sbar_array[0] = pi0*s_h + (1-pi0)*s_l \n",
    "        gammabar_array[0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l)\n",
    "\n",
    "        for j in range(n-1):\n",
    "            pi_prime = update(pi) \n",
    "            pi_array[j+1] = pi_prime \n",
    "            sbar_array[j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "            gammabar_array[j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h\n",
    "                                        +(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l)\n",
    "            pi = pi_prime   \n",
    "            \n",
    "        fine = fine_multiplier*n\n",
    "        j_fine = np.linspace(start = guessmin, stop = n, num = fine)\n",
    "        \n",
    "        def pi_fine(j):\n",
    "            \" Bayes rule \"\n",
    "            con = guessmin*s_h**j/((1-guessmin)*s_l**j)\n",
    "            return con/(1+con)\n",
    "        \n",
    "        pi_fine_array = np.zeros(fine)\n",
    "        for J in range(1,fine): \n",
    "            j = J/fine_multiplier\n",
    "            pi_fine_array[J] = pi_fine(j) #make the grid of pi finer for plotting\n",
    "        \n",
    "        return n, pi_array, sbar_array, gammabar_array, j_fine, pi_fine_array\n",
    "        \n",
    "    def equm_allocation(self):\n",
    "        \n",
    "        A = self.A\n",
    "        beta = self.beta  \n",
    "        alpha = self.alpha \n",
    "        rho = self.rho  \n",
    "        gamma_h = self.gamma_h\n",
    "        gamma_l = self.gamma_l \n",
    "        s_h = self.s_h \n",
    "        s_l = self.s_l \n",
    "        eta = self.eta \n",
    "        zeta = self.zeta\n",
    "        n = self.n\n",
    "        pi_array = self.pi_array \n",
    "        sbar_array = self.sbar_array\n",
    "        gammabar_array = self.gammabar_array\n",
    "        \n",
    "        pi = np.copy(pi_array)\n",
    "        pi_fine = np.copy(pi_fine_array)\n",
    "        sbar = np.copy(sbar_array)\n",
    "        gammabar = np.copy(gammabar_array) \n",
    "                    \n",
    "        A_u = 1.18\n",
    "        rho_u = 0.01\n",
    "        def utility(q): \n",
    "            if q == 0:\n",
    "                return A_u*0.001**(1-rho_u)/(1-rho_u)\n",
    "            else:\n",
    "                return A_u*q**(1-rho_u)/(1-rho_u)\n",
    "        def utility_prime(q): \n",
    "            if q == 0:\n",
    "                return A_u*0.001**(-rho_u)\n",
    "            else:\n",
    "                return A_u*q**(-rho_u)\n",
    "        def utility_doubleprime(q): \n",
    "            if q == 0:\n",
    "                return A_u*(-rho_u)*0.001**(-rho_u-1)\n",
    "            else:\n",
    "                return A_u*(-rho_u)*q**(-rho_u-1)\n",
    "\n",
    "        def eq_q_star(q):\n",
    "            return utility_prime(q) - 1 \n",
    "\n",
    "        q_star = root(eq_q_star, 1.1, jac = utility_doubleprime).x\n",
    "        if np.abs(eq_q_star(q_star))>tolerance: \n",
    "            print(\"error: solving q_star\")\n",
    "    \n",
    "        def wealth(q): \n",
    "            \" wealth needed to purchase q: w = rho * q + (1-rho)*u(q) \"\n",
    "            return rho*q + (1-rho)*utility(q)\n",
    "        \n",
    "        w_star = wealth(q_star)\n",
    "        print(q_star,w_star)\n",
    "        \n",
    "        def fun_q(w): \n",
    "            \" inverse of wealth(q), given w, solve for q\"\n",
    "            if w < 0: \n",
    "                return 0\n",
    "            elif w >= w_star:\n",
    "                return w_star\n",
    "            else:\n",
    "                return w\n",
    "\n",
    "        def lpremium(w):\n",
    "            \" this is the liquidity premium, a function of wealth\"\n",
    "            if w < 0: \n",
    "                return 0\n",
    "            else: \n",
    "                q = fun_q(w)\n",
    "                if 0 < q <= q_star:\n",
    "                    return utility_prime(q) - 1\n",
    "                else: \n",
    "                    return 0\n",
    "\n",
    "        def func_f(x): \n",
    "            \" function f \"\n",
    "            if x < w_star: \n",
    "                #return beta*x*(1 + alpha*lpremium(x))\n",
    "                return beta*x*(1 + alpha*(utility_prime(x) - 1))\n",
    "            else:\n",
    "                return beta*x \n",
    "\n",
    "        if derivative(func_f, 0, dx=1e-6, n=1) < 1/(2*eta*math.sqrt((1-s_h)*s_h)+1-eta):\n",
    "            print(\"Unique Equilibrium\")\n",
    "        else:\n",
    "            print(\"May not have unique Equilibrium\")\n",
    "\n",
    "        def eq_phi_h(y): \n",
    "            return func_f(zeta*(s_h*gamma_h +s_l*gamma_l)+y) -y\n",
    "\n",
    "        phi_h = fsolve(eq_phi_h, w_star)\n",
    "        if np.abs(eq_phi_h(phi_h)) > tolerance: \n",
    "            print(\"error: solving phi_h\")\n",
    "        \n",
    "        # when gamma_l = 0 \n",
    "        def eq_phi_l(y): \n",
    "            return func_f(zeta*(s_l*gamma_h +s_h*gamma_l)+y) -y\n",
    "        if s_l*gamma_h +s_h*gamma_l>=0:\n",
    "            phi_l = fsolve(eq_phi_l, w_star-0.1)\n",
    "            if np.abs(eq_phi_l(phi_l)) > tolerance: \n",
    "                print(\"error: solving phi_l\")\n",
    "        else: \n",
    "            phi_l = 0\n",
    "            \n",
    "        print(\"phi_h=\",phi_h,\"phi_l=\", phi_l)\n",
    "        \n",
    "        if phi_h <= 0:\n",
    "            print(\"Error: Neg phi_h\") \n",
    "        elif isinstance(phi_h,complex): \n",
    "            print(\"Error: Complex phi_h\")\n",
    "        \n",
    "        def update(y): \n",
    "            \" belief updating after receiving a good news, get pi_prime given pi \"\n",
    "            return y*s_h/(y*s_h + (1-y)*s_l)\n",
    "\n",
    "        phi_guess = np.zeros(n) #initial guess of phi sequence \n",
    "        phi_guess[-1] = phi_h\n",
    "        phi_guess[0] = phi_l\n",
    "        a = np.zeros(n)\n",
    "        a[1:n] = np.nan\n",
    "        phi = np.copy(a)\n",
    "        phi_ttest = np.copy(a)\n",
    "        phi_ttest[0] = phi_l\n",
    "        phi_ttest[-1] = phi_h #updated guess of phi sequence. specify the length here\n",
    "\n",
    "        phi = np.copy(phi_guess)\n",
    "        count = 1\n",
    "        diff,diff2 = 1,1\n",
    "        phi_test = np.copy(phi_ttest) \n",
    "        while (diff > tolerance) and count <= 1500:\n",
    "              \n",
    "            for j in range(1, n-1): # j is state\n",
    "                sbar_j = sbar[j]\n",
    "                gammabar_j = gammabar[j]\n",
    "                l_j =gammabar_j + eta*(sbar_j*phi[j+1]+(1-sbar_j)*phi[j-1]) + (1-eta)*phi[j]\n",
    "                phi_jtest = min(max(func_f(l_j),phi_l),phi_h)\n",
    "                phi_test[j] = phi_jtest\n",
    "            count += 1 \n",
    "            if count ==1500: \n",
    "                print(\"Count=1500 number of iterations reached when solve phi\")\n",
    "            diff = np.max(np.abs(phi - phi_test))\n",
    "            diff2 = np.abs(phi_test[-1] - phi_test[-2])\n",
    "            phi = np.copy(phi_test) #update price array \n",
    "\n",
    "        #check incentive constraints  \n",
    "        res = next(x for x, val in enumerate(phi) if val > 0) # find the first pos phi\n",
    "        cond1 = gammabar[res-1] + eta*sbar[res-1]*phi[res] # liquidity at the cutoff\n",
    "        phi_array = []\n",
    "        pi_cutoff = [] \n",
    "        d = []\n",
    "        if (cond1 <= tolerance): \n",
    "            #Record arrays\n",
    "            pi_cutoff = np.copy(pi_array[res-2]) # cutoff is res-1\n",
    "            d = res-2\n",
    "        else: \n",
    "            pi_cutoff = np.nan \n",
    "            d = np.nan\n",
    "        print(\"d=\", d)\n",
    "        pi_cutoff = np.copy(pi_array[res-2]) # cutoff is res-1\n",
    "        phi_array = np.copy(phi) # want to record converged price arrays\n",
    "        \n",
    "        ############################\n",
    "        # get fundamental values \n",
    "        ############################\n",
    "        \n",
    "        def dlp_dw(w): \n",
    "            if w < 0: \n",
    "                return 0\n",
    "            else: \n",
    "                q = fun_q(w)\n",
    "                if 0 < q <= q_star:\n",
    "                    dq_dw = 1/(rho + (1-rho)*utility_prime(q))\n",
    "                    return rho*utility_doubleprime(q)*dq_dw/(rho+(1-rho)*utility_prime(q))**2\n",
    "                else: \n",
    "                    return 0\n",
    "        \n",
    "        phi_fund_h = np.zeros(n)\n",
    "        phi_fund_h[:] = np.nan\n",
    "        phi_fund_l = np.copy(phi_fund_h)\n",
    "        rbalance_fund = np.zeros(n)\n",
    "        rbalance_fund[:] = np.nan\n",
    "        q_fund = np.zeros(n)\n",
    "        q_fund[:] = np.nan\n",
    "        for j in range(0, n):    \n",
    "            gammabar_j = gammabar[j] \n",
    "            def func_fundamental(w): # x is phi here\n",
    "                if gammabar_j +w < w_star:\n",
    "                    return func_f(gammabar_j +w) - w\n",
    "                else: \n",
    "                    return beta*(gammabar_j +w) - w\n",
    "            \n",
    "            def Joc_func_fundamental(w):\n",
    "                if gammabar_j+w < w_star: \n",
    "                    x1 = lpremium(gammabar_j+w) \n",
    "                    x2 = dlp_dw(gammabar_j+w) \n",
    "                else: \n",
    "                    x1 = 0 \n",
    "                    x2 = 0\n",
    "                return beta*(1 +alpha*x1 + (gammabar_j+w)*alpha*x2) -1\n",
    "                \n",
    "            if j > 0 and phi_fund_h[j-1]>0:\n",
    "                guess = phi_fund_h[j-1]\n",
    "            else: \n",
    "                guess = w_star - 0.1\n",
    "            result_h = root(func_fundamental, guess, jac = Joc_func_fundamental) \n",
    "            if result_h.success == True and abs(func_fundamental(result_h.x))<=tolerance :\n",
    "                if result_h.x <= 0:\n",
    "                    phi_fund_h[j] = phi_h \n",
    "                else: \n",
    "                    phi_fund_h[j] = result_h.x\n",
    "            else: \n",
    "                phi_fund_h[j] = np.nan\n",
    "                \n",
    "            rbalance_fund[j] = phi_fund_h[j] + gammabar_j\n",
    "            q_fund[j] = fun_q(rbalance_fund[j])\n",
    "                \n",
    "            result_l = root(func_fundamental, phi_l, jac = Joc_func_fundamental)\n",
    "            if result_l.success == True and np.abs(func_fundamental(result_l.x))<=tolerance :\n",
    "                if result_l.x <= 0:\n",
    "                    phi_fund_l[j] = 0 \n",
    "                else: \n",
    "                    phi_fund_l[j] = result_l.x\n",
    "            else: \n",
    "                phi_fund_l[j] = np.nan\n",
    "                \n",
    "        phi_fund_h_array = np.copy(phi_fund_h)\n",
    "        phi_fund_l_array = np.copy(phi_fund_l)\n",
    "        rbalance_fund_array = np.copy(rbalance_fund)\n",
    "        q_fund_array = np.copy(q_fund)\n",
    "        \n",
    "        ####################\n",
    "        #  get welfares \n",
    "        ####################\n",
    "        rbalance_h = zeta*(s_h*gamma_h+s_l*gamma_l) + phi_h\n",
    "        q_h = fun_q(rbalance_h)  \n",
    "        \n",
    "        rbalance_l = zeta*(s_l*gamma_h+s_h*gamma_l) + phi_l\n",
    "        q_l = fun_q(rbalance_l)  \n",
    "        \n",
    "        w_h = beta*(alpha*(utility(q_h) - q_h))/(1-beta) +zeta*(s_l*gamma_l + s_h*gamma_h)/(1-beta) \n",
    "        w_l = max(beta*(alpha*(utility(q_l) - q_l))/(1-beta)+ zeta*(s_h*gamma_l + s_l*gamma_h)/(1-beta),0)\n",
    "        print(\"w_h =\",w_h, \"w_l =\",w_l)\n",
    "        rbalance = np.zeros(n)\n",
    "        q = np.zeros(n)\n",
    "        q[-1] = q_h\n",
    "        q[0] = q_l\n",
    "        w_test = np.zeros(n)\n",
    "        w_test[-1] = w_h\n",
    "        w_test[0:1] = w_l\n",
    "        w_guess = np.zeros(n)\n",
    "        w_guess[-1] = w_h\n",
    "        w_guess[0] = w_l\n",
    "        rbalance[-1] = rbalance_h\n",
    "        rbalance[0] = rbalance_l\n",
    "        \n",
    "        for j in range(1,n-1): \n",
    "            sbar_j = sbar[j]\n",
    "            gammabar_j = gammabar[j]\n",
    "            rbalance[j] = gammabar_j + eta*sbar_j*phi[j+1] + eta*(1-sbar_j)*phi[j-1] + (1-eta)*phi[j]\n",
    "            q[j] = fun_q(rbalance[j])\n",
    "        \n",
    "        count = 1\n",
    "        diff = 1    \n",
    "        w = np.copy(w_guess)\n",
    "        w_ttest = np.copy(w_test)\n",
    "        gain = np.zeros(n)\n",
    "        gain[0] = utility(q[0])-q[0]\n",
    "        gain[-1] = utility(q[-1])-q[-1]\n",
    "        gain_fund = np.zeros(n)\n",
    "        gain_fund[0] = utility(fun_q(gammabar[0]+phi_fund_h[0]))-fun_q(gammabar[0]+phi_fund_h[0])\n",
    "        gain_fund[-1] = utility(fun_q(gammabar[-1]+phi_fund_h[-1]))-fun_q(gammabar[-1]+phi_fund_h[-1])\n",
    "        while diff > tolerance and count <= 3000: \n",
    "            \n",
    "            for j in range(1, n-1): \n",
    "                sbar_j = sbar[j]\n",
    "                gammabar_j = gammabar[j]\n",
    "                gain[j] = (utility(q[j])-q[j])\n",
    "                gain_fund[j] = (utility(fun_q(gammabar_j+phi_fund_h[j]))-fun_q(gammabar_j+phi_fund_h[j]))\n",
    "                w_jtest = min(max((gammabar_j + beta*alpha*gain[j] + eta*sbar_j*beta*w[j+1] \n",
    "                       + eta*(1-sbar_j)*beta*w[j-1] + (1-eta)*beta*w[j]),w_l),w_h)\n",
    "                w_ttest[j] = w_jtest\n",
    "                 \n",
    "            count += 1 \n",
    "            if count ==3000: \n",
    "                print(\"Count=3000 number of iterations reached at welfare \")\n",
    "            diff = np.max(np.abs(w - w_ttest))\n",
    "            w = np.copy(w_ttest) #update welfare array \n",
    "            plt.plot(w[:])\n",
    "        print(count)\n",
    "            \n",
    "        rbalance_array = np.copy(rbalance)\n",
    "        q_array = np.copy(q)\n",
    "        w_array = np.copy(w) #record converged welfare arrays\n",
    "        omega = np.zeros(n)\n",
    "        omega_H = np.copy(omega) \n",
    "        omega_L = np.copy(omega)\n",
    "        omega_test = np.zeros(n)\n",
    "        omega_test[-1]=np.nan\n",
    "        omega_L_test = np.copy(omega_test)\n",
    "        omega_H_test = np.copy(omega_test)\n",
    "        omega0_test = np.zeros(n) \n",
    "        omega0_test[-1] = np.nan\n",
    "        omega0_H = np.zeros(n)\n",
    "        omega0_L = np.zeros(n)\n",
    "        omega0 = np.zeros(n)\n",
    "\n",
    "        ##########################\n",
    "        #  check welfare formula \n",
    "        ##########################\n",
    "        if d > 0: \n",
    "            \n",
    "            m1_H = (1-beta*(1-eta))/(2*s_h*beta*eta) - (((1-beta*(1-eta))/(2*s_h*beta*eta))**2 - s_l/s_h)**0.5 \n",
    "            m2_H = (1-beta*(1-eta))/(2*s_h*beta*eta) + (((1-beta*(1-eta))/(2*s_h*beta*eta))**2 - s_l/s_h)**0.5 \n",
    "\n",
    "            m1_L = (1-beta*(1-eta))/(2*s_l*beta*eta) - (((1-beta*(1-eta))/(2*s_l*beta*eta))**2 - s_h/s_l)**0.5 \n",
    "            m2_L = (1-beta*(1-eta))/(2*s_l*beta*eta) + (((1-beta*(1-eta))/(2*s_l*beta*eta))**2 - s_h/s_l)**0.5 \n",
    "\n",
    "            for j in range(0, n-d):\n",
    "                sum1_H = 0\n",
    "                for t in range(0,j):\n",
    "                    if d+t+1 < n:\n",
    "                        epsilon = gammabar[d+t+1] + beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "\n",
    "                    sum1_H = sum1_H + m1_H**j/(m2_H-m1_H) * (m2_H/(m1_H**t) - m1_H/(m2_H**t)) * epsilon\n",
    "\n",
    "                sum2_H = 0 \n",
    "                for t in range(j, inft):\n",
    "                    if d+t+1 < n:\n",
    "                        epsilon = gammabar[d+t+1] + beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "\n",
    "                    sum2_H = sum2_H + (m1_H * (m2_H**j - m1_H**j)/((m2_H-m1_H)*(m2_H**t))) * epsilon\n",
    "\n",
    "                omega_j_H = (sum1_H + sum2_H)/(beta*eta*s_l)\n",
    "\n",
    "                sum1_L = 0\n",
    "                for t in range(0,j):\n",
    "                    if d+t+1 < n:\n",
    "                        epsilon = gammabar[d+t+1] + beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "\n",
    "                    sum1_L = sum1_L + m1_L**j/(m2_L-m1_L) * (m2_L/(m1_L**t) - m1_L/(m2_L**t)) * epsilon\n",
    "\n",
    "                sum2_L = 0 \n",
    "                for t in range(j, inft):\n",
    "                    if d+t+1 < n:\n",
    "                        epsilon = gammabar[d+t+1] + beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "\n",
    "                    sum2_L = sum2_L + (m1_L/((m2_L-m1_L)*m2_L**t)) * (m2_L**j - m1_L**j) * epsilon\n",
    "\n",
    "                omega_j_L = (sum1_L + sum2_L)/(beta*eta*s_h)     \n",
    "                omega_H[d+j] = omega_j_H\n",
    "                omega_L[d+j] = omega_j_L\n",
    "                omega[d+j] = pi[d+j]*omega_j_H + (1-pi[d+j])*omega_j_L\n",
    "\n",
    "            omega_L_array = np.copy(omega_L)\n",
    "            omega_H_array = np.copy(omega_H)\n",
    "            omega_array = np.copy(omega)\n",
    "\n",
    "            for j in range(d+1, n-1): \n",
    "                omega_test_j = (gammabar[j] + beta*alpha*(utility(q_array[j]) - q_array[j])\n",
    "                                + beta*(eta*sbar[j]*omega_array[j+1] \n",
    "                                       + eta*(1-sbar[j])*omega_array[j-1] \n",
    "                                       +(1-eta)*omega_array[j])) \n",
    "                omega_test[j] = omega_test_j \n",
    "                omega_test_j = (gammabar[j] + beta*alpha*(utility(q_array[j]) - q_array[j])\n",
    "                                + beta*(eta*sbar[j]*omega_L_array[j+1] \n",
    "                                       + eta*(1-sbar[j])*omega_L_array[j-1] \n",
    "                                       +(1-eta)*omega_L_array[j])) \n",
    "                omega_L_test[j] = omega_test_j \n",
    "                omega_test_j = (gammabar[j] + beta*alpha*(utility(q_array[j]) - q_array[j])\n",
    "                                + beta*(eta*sbar[j]*omega_H_array[j+1] \n",
    "                                       + eta*(1-sbar[j])*omega_H_array[j-1] \n",
    "                                       +(1-eta)*omega_H_array[j])) \n",
    "                omega_H_test[j] = omega_test_j \n",
    "            # check arbitary satisfy the difference equation \n",
    "\n",
    "            for j in range(0, n-d):\n",
    "                sum1_H = 0\n",
    "                for t in range(0,j):\n",
    "                    if d+t+1 < n:\n",
    "                        epsilon = gammabar[d+t+1] + beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "                    sum1_H = sum1_H + m2_H/(m2_H - m1_H)*(m1_H**(j-t) - m2_H**(j-t))*epsilon\n",
    "\n",
    "                sum2_H = 0 \n",
    "                sum3_H = 0\n",
    "                for t in range(j, inft):\n",
    "                    if d+t+1 < n: \n",
    "                        epsilon = gammabar[d+t+1] +beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "                    sum2_H = sum2_H + m2_H**(j-t)*epsilon\n",
    "\n",
    "                for t in range(0, inft):\n",
    "                    if d+t+1 < n: \n",
    "                        epsilon = gammabar[d+t+1] +beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "                    sum3_H = sum3_H + epsilon/(m2_H**t)\n",
    "\n",
    "                omega0_H[d+j] = (((sum1_H - sum2_H)/(beta*eta*s_h) \\\n",
    "                         - m1_H**j*sum3_H*m1_H/(m2_H-m1_H)/(beta*eta*s_h) \\\n",
    "                         + m2_H**j*sum3_H*m2_H/(m2_H-m1_H)/(beta*eta*s_h))*(s_h/s_l))\n",
    "\n",
    "                sum1_L = 0\n",
    "                for t in range(0,j):\n",
    "                    if d+t+1 < n:\n",
    "                        epsilon = gammabar[d+t+1] + beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "                    sum1_L = sum1_L + m2_L/(m2_L - m1_L)*(m1_L**(j-t) - m2_L**(j-t))*epsilon\n",
    "\n",
    "                sum2_L = 0 \n",
    "                sum3_L = 0\n",
    "                for t in range(j, inft):\n",
    "                    if d+t+1 < n: \n",
    "                        epsilon = gammabar[d+t+1] +beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "                    sum2_L = sum2_L + m2_L**(j-t)*epsilon\n",
    "\n",
    "                for t in range(0, inft):\n",
    "                    if d+t+1 < n: \n",
    "                        epsilon = gammabar[d+t+1] +beta*alpha*(utility(q_array[d+t+1]) - q_array[d+t+1])\n",
    "                    else: \n",
    "                        epsilon = gammabar[-1] + beta*alpha*(utility(q_array[-1]) - q_array[-1])\n",
    "                    sum3_L = sum3_L + epsilon/(m2_L**t)\n",
    "\n",
    "                omega0_L[d+j] = (((sum1_L - sum2_L)/(beta*eta*s_l) \\\n",
    "                         - m1_L**j*sum3_L*m1_L/(m2_L-m1_L)/(beta*eta*s_l) \\\n",
    "                         + m2_L**j*sum3_L*m2_L/(m2_L-m1_L)/(beta*eta*s_l))*(s_l/s_h))\n",
    "\n",
    "                omega0[d+j] = pi[d+j]*omega0_H[d+j] + (1-pi[d+j])*omega0_L[d+j]\n",
    "\n",
    "            for j in range(d, n-1): \n",
    "                omega0_test[j] = (gammabar[j] + beta*alpha*(utility(q_array[j]) - q_array[j])\n",
    "                                + beta*(eta*sbar[j]*omega0[j+1] \n",
    "                                       + eta*(1-sbar[j])*omega0[j-1] \n",
    "                                       +(1-eta)*omega0[j])) \n",
    "            \n",
    "        else:\n",
    "            omega_L_array = np.copy(omega_L)\n",
    "            omega_H_array = np.copy(omega_H)\n",
    "            omega_array = np.copy(omega)\n",
    "        \n",
    "        epsilon = np.zeros(n)\n",
    "        for j in range(n):\n",
    "            gammabar_j = gammabar[j]\n",
    "            gain_j = gain[j]\n",
    "            epsilon[j] = max(gammabar_j + alpha*beta*gain_j,0)\n",
    "            \n",
    "        return pi_cutoff, q_star, w_star, phi_array, phi_fund_h_array, phi_fund_l_array, \\\n",
    "                rbalance_fund_array, q_fund_array,rbalance_array, q_array, w_array, phi_l, w_l \\\n",
    "                , omega_array, \\\n",
    "                omega_L_array, omega_H_array,omega_test,omega_L_test,omega_H_test, omega0, omega0_test, \\\n",
    "                gain, gain_fund, epsilon\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[15424131.90545318] [15424131.90545318]\n",
      "May not have unique Equilibrium\n",
      "phi_h= [3.01431125] phi_l= [0.64502911]\n",
      "d= nan\n",
      "w_h = [3.2380849] w_l = [0.68672796]\n",
      "165\n",
      "[15424131.90545318] [15424131.90545318]\n",
      "May not have unique Equilibrium\n",
      "phi_h= [3.01431125] phi_l= [0.64502911]\n",
      "d= nan\n",
      "w_h = [3.2380849] w_l = [0.68672796]\n",
      "163\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "eta_grid = [0.01,0.9]\n",
    "\n",
    "n, pi_array, sbar_array, gammabar_array, j_fine, pi_fine_array = Baseline().arrays_beliefs()\n",
    "\n",
    "pi_cutoff = np.empty(len(eta_grid))\n",
    "q_star = np.empty(len(eta_grid))\n",
    "w_star = np.empty(len(eta_grid))\n",
    "phi_array = np.empty([len(eta_grid),n])\n",
    "phi_fund_h_array = np.empty([len(eta_grid),n])\n",
    "phi_fund_l_array = np.empty([len(eta_grid),n])\n",
    "rbalance_fund_array = np.empty([len(eta_grid),n])\n",
    "q_fund_array = np.empty([len(eta_grid),n])\n",
    "w_array = np.empty([len(eta_grid),n])\n",
    "q_array = np.empty([len(eta_grid),n])\n",
    "rbalance_array = np.empty([len(eta_grid),n])\n",
    "phi_l = np.empty(len(eta_grid))\n",
    "w_l = np.empty(len(eta_grid))\n",
    "omega_array = np.empty([len(eta_grid),n])\n",
    "omega_L_array = np.empty([len(eta_grid),n])\n",
    "omega_H_array = np.empty([len(eta_grid),n])\n",
    "omega_test = np.empty([len(eta_grid),n])\n",
    "omega_L_test= np.empty([len(eta_grid),n])\n",
    "omega_H_test= np.empty([len(eta_grid),n])\n",
    "omega0 = np.empty([len(eta_grid),n])\n",
    "omega0_test = np.empty([len(eta_grid),n])\n",
    "b_array = np.empty([len(eta_grid),fine_multiplier*inft])\n",
    "gain = np.empty([len(eta_grid),n])\n",
    "gain_fund = np.empty([len(eta_grid),n])\n",
    "epsilon = np.empty([len(eta_grid),n])\n",
    "for j in range(len(eta_grid)): \n",
    "    eta = eta_grid[j]\n",
    "    result = Baseline(given_eta = eta,given_n=n, given_pi_array=pi_array, given_sbar_array=sbar_array, given_gammabar_array=gammabar_array).equm_allocation() \n",
    "    pi_cutoff[j], q_star[j], w_star[j], phi_array[j,:], phi_fund_h_array[j,:], \\\n",
    "    phi_fund_l_array[j,:],rbalance_fund_array[j,:], q_fund_array[j,:],rbalance_array[j,:], \\\n",
    "    q_array[j,:],w_array[j,:], phi_l[j], w_l[j] \\\n",
    "    , omega_array[j,:],\\\n",
    "    omega_L_array[j,:], omega_H_array[j,:],omega_test[j,:],omega_L_test[j,:],omega_H_test[j,:], \\\n",
    "    omega0[j,:], omega0_test[j,:], gain[j,:], gain_fund[j,:], epsilon[j,:]= result \n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot figure 11\n",
    "\n",
    "for j in range(len(eta_grid)):\n",
    "    eta_label = eta_grid[j]\n",
    "    plt.plot(pi_array[:],w_array[j,:],label=r'$\\eta$ = ' + str(eta_label) )\n",
    "#plt.plot(pi_array,phi_fund_l_array[0,:],':',color='lightcoral')\n",
    "plt.xlabel(r'$\\pi$', fontsize=16)\n",
    "plt.ylabel(r'welfare, $\\Omega$', fontsize=16)\n",
    "plt.legend(fontsize=16)\n",
    "plt.tight_layout\n",
    "# plt.savefig('lambda_P1_RSW.pdf')\n",
    "plt.show()\n",
    "\n",
    "\n",
    "for j in range(len(eta_grid)):\n",
    "    eta_label = eta_grid[j]\n",
    "    plt.plot(pi_array[:],gain[j,:],label=r'$\\eta$ = ' + str(eta_label) )\n",
    "plt.xlabel(r'$\\pi$', fontsize=16)\n",
    "plt.ylabel(r'Trade Surplus, $S(l)$', fontsize=16)\n",
    "plt.legend(fontsize=16)\n",
    "plt.tight_layout\n",
    "# plt.savefig('lambda_P1_RSW.pdf')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Online Appendix -- Dual-Asset Economy "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "May not have unique Equilibrium\n"
     ]
    }
   ],
   "source": [
    "A=1          #money supply\n",
    "M=1          #safe asset supply\n",
    "beta=0.99    #discount factor\n",
    "alpha=0.05   #meeting prob\n",
    "rho=0.5      #bargaining power\n",
    "gamma_h = 10   #div of high state\n",
    "gamma_l = -10   #div of low state \n",
    "gamma_s=0.0001    #div of safe asset\n",
    "sigma=0.5    #prob of being a buyer/seller <=0.5\n",
    "s_h=0.55     #prob of receiving gamma_h in H state\n",
    "s_l=1-s_h    #prob of receiving gamma_h in L state\n",
    "eta=0.5     #prob of getting signals \n",
    "zeta=0.01   #prob of getting dividends #0.0007 to generate u-shaped tau\n",
    "tolerance= 0.00001\n",
    "guessnum = 1000\n",
    "\n",
    "if s_h*gamma_h + s_l*gamma_l < 0: \n",
    "    print(\"Error: negative exp_phi_h not allowed in the baseline\")\n",
    "if s_h*gamma_l + s_l*gamma_h >=0: \n",
    "    print(\"Error: positive exp_phi_l not allowed in the baseline\")\n",
    "\n",
    "\n",
    "def utility(q): \n",
    "    return 2*q**0.5 \n",
    "\n",
    "q_star = 1 \n",
    "\n",
    "def lpremium(x): #x is liquidity (wealth) here\n",
    "    return (1-(-1+rho+((1-rho)**2+rho*x)**0.5)/rho)/(((1-rho)**2+rho*x)**0.5)\n",
    "\n",
    "w_star = fsolve(lpremium,1.5) \n",
    "\n",
    "def func_f(x): \n",
    "    if x < w_star: \n",
    "        return beta*x*(1+alpha*sigma*lpremium(x))\n",
    "    else:\n",
    "        return beta*x \n",
    "    \n",
    "def func_f2(x,y): #x is tau, y is phi or psi\n",
    "    if x < w_star: \n",
    "        return beta*y*(1+alpha*sigma*lpremium(x))\n",
    "    else:\n",
    "        return beta*y \n",
    "    \n",
    "if derivative(func_f, 0, dx=1e-6, n=1) < 1/(2*eta*math.sqrt((1-s_h)*s_h)+1-eta):\n",
    "    print(\"Unique Equilibrium\")\n",
    "else:\n",
    "    print(\"May not have unique Equilibrium\")\n",
    "    \n",
    "def eq_psi_star(y): #safe asset price if safe currency is the only asset circulating\n",
    "    return func_f(gamma_s + y) -y\n",
    "\n",
    "result = least_squares(eq_psi_star, w_star, bounds=(0, w_star))\n",
    "psi_star = result.x \n",
    "if result.success == False:  \n",
    "    print(\"Error in Least squares when solve for psi_star\")\n",
    "\n",
    "if gamma_s>=0: \n",
    "    def eq_tau_h(y): #tau_h is the sum of phi and psi when true state is high\n",
    "        return func_f(zeta*(s_h*gamma_h +s_l*gamma_l) +gamma_s +y) -y\n",
    "else: \n",
    "    def eq_tau_h(y): #tau_h is the sum of phi and psi when true state is high\n",
    "        return func_f(zeta*(s_h*gamma_h +s_l*gamma_l) +y) -y\n",
    "    \n",
    "result = least_squares(eq_tau_h, x0=w_star, bounds=(0, 10))\n",
    "if result.success == True: \n",
    "    tau_h = result.x\n",
    "else: \n",
    "    exit()\n",
    "    print('Error: wrong tau_h')\n",
    "    \n",
    "if tau_h <=0:\n",
    "    print(\"Error: Neg tau_h\") \n",
    "elif isinstance(tau_h,complex): \n",
    "    print(\"Error: Complex tau_h\")\n",
    "\n",
    "if gamma_s > 0: \n",
    "    #def eq_phi_h(y): \n",
    "    #    return func_f2(tau_h, zeta*(s_h*gamma_h +s_l*gamma_l) + y) -y\n",
    "    \n",
    "    #phi_h = fsolve(eq_phi_h, w_star)\n",
    "    #if phi_h <=0:\n",
    "    #    print(\"Error: Neg phi_h\") \n",
    "    #elif isinstance(phi_h,complex): \n",
    "    #    print(\"Error: Complex phi_h\")\n",
    "        \n",
    "    #def eq_psi_h(y): \n",
    "    #    return func_f2(tau_h, gamma_s + y) -y    \n",
    "    \n",
    "    #result2 = least_squares(eq_psi_h,psi_star,bounds=(0, psi_star))\n",
    "    #psi_h = result2.x \n",
    "    #if result2.success == False:  \n",
    "    #    print(\"Error in Least squares when solve for psi_star\")\n",
    "        \n",
    "    def equations(p):\n",
    "        x, y = p\n",
    "        return (func_f2(zeta*(s_h*gamma_h +s_l*gamma_l) +gamma_s +tau_h[0], gamma_s + x) -x, \n",
    "            func_f2(zeta*(s_h*gamma_h +s_l*gamma_l) +gamma_s +tau_h[0], zeta*(s_h*gamma_h +s_l*gamma_l) + y) -y)\n",
    "    psi_h, phi_h = fsolve(equations,(psi_star,w_star))\n",
    "\n",
    "if gamma_s <= 0: \n",
    "    phi_h = tau_h \n",
    "    psi_h = 0\n",
    "\n",
    "def exp_gamma(y): #y is current belief pi_j here \n",
    "    return zeta*((y*s_h +(1-y)*s_l)*gamma_h+(1-(y*s_h +(1-y)*s_l))*gamma_l)\n",
    "result = least_squares(exp_gamma, x0=0.5,bounds=(0,1))\n",
    "if result.success == True: \n",
    "    guessmax = result.x\n",
    "else: \n",
    "    print(\"Error: wrong guessmax\")\n",
    "    \n",
    "guessmin = 0.0000001\n",
    "\n",
    "def update(y): #belief updating after receiving a good news\n",
    "    return y*s_h/(y*s_h + (1-y)*s_l)\n",
    "\n",
    "diff = 10 #to calculate the time horizon\n",
    "pi = guessmin \n",
    "count = 1\n",
    "while diff > tolerance:\n",
    "    pi_prime = update(pi)\n",
    "    count += 1 \n",
    "    diff = 1 - pi_prime\n",
    "    pi = pi_prime\n",
    "n = count #time horizon \n",
    "\n",
    "#solve for q in the DM \n",
    "def eq_q(x,y): #x is real balances and y is q \n",
    "    if x >= w_star: \n",
    "        return y - q_star #meaning that q=q_star\n",
    "    else: \n",
    "        return -x + (1 - rho)*utility(y) + rho*y\n",
    "    \n",
    "rbalance_h = zeta*(s_h*gamma_h+(1-s_h)*gamma_l) + gamma_s + phi_h + psi_h  \n",
    "def eq_qh(y): #given real balance and y is q \n",
    "    if rbalance_h >= w_star: \n",
    "        return y - q_star #meaning that q=q_star\n",
    "    else: \n",
    "        return -rbalance_h + (1 - rho)*utility(y) + rho*y\n",
    "    \n",
    "result = least_squares(eq_qh, x0=q_star,bounds=(0,q_star)) \n",
    "if result.success == True: \n",
    "    q_h = result.x \n",
    "else: \n",
    "    print('Error: wrong q_h')\n",
    "w_h = (alpha*sigma*(utility(q_h) - q_h))/(1-beta)\n",
    "\n",
    "rbalance_0 = gamma_s + psi_star\n",
    "def eq_q0(y): #given real balance and y is q \n",
    "    if rbalance_0 >= w_star: \n",
    "        return y - q_star #meaning that q=q_star\n",
    "    else: \n",
    "        return -rbalance_0 + (1 - rho)*utility(y) + rho*y\n",
    "result = least_squares(eq_q0, x0 = q_h, bounds=(0, q_star))  \n",
    "if result.success == True: \n",
    "    q_0 = result.x \n",
    "w_0 = (alpha*sigma*(utility(q_0) - q_0))/(1-beta) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2 equm tau found\n"
     ]
    }
   ],
   "source": [
    "# If safe dividend is non-negative\n",
    "\n",
    "guessmax = 0.4 #for montone tau and welfare\n",
    "pi0_guess = np.linspace(guessmin,guessmax, num=guessnum) #initial guess of pi0 \n",
    "a = np.empty([guessnum,n])\n",
    "a[:] = np.nan\n",
    "pi_matrix = np.copy(a) \n",
    "pi_matrix[:,0] = np.transpose(pi0_guess) \n",
    "sbar_matrix = np.copy(a) \n",
    "gammabar_matrix = np.copy(a) \n",
    "tau_matrix = np.copy(a)\n",
    "a = np.zeros(n)\n",
    "a[0] = psi_star\n",
    "a[1:n] = tau_h \n",
    "tau_guess = np.copy(a) #initial guess of phi sequence \n",
    "a = np.zeros(n)\n",
    "a[0] = psi_star\n",
    "a[1:n] = np.nan\n",
    "tau_ttest = np.copy(a)\n",
    "tau_ttest[-1] = tau_h \n",
    "notconverge = np.zeros(guessnum)\n",
    "\n",
    "for i in range(guessnum): \n",
    "    pi0 = pi0_guess[i]\n",
    "    pi = np.copy(pi0)  \n",
    "    sbar_matrix[i,0] = pi0*s_h + (1-pi0)*s_l \n",
    "    gammabar_matrix[i,0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l)\n",
    "    for j in range(n-1):\n",
    "        pi_prime = update(pi) \n",
    "        pi_matrix[i,j+1] = pi_prime \n",
    "        sbar_matrix[i,j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "        gammabar_matrix[i,j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h+(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l)\n",
    "        pi = pi_prime   \n",
    "\n",
    "    sbar = np.copy(sbar_matrix[i,:])\n",
    "    tau = np.copy(tau_guess)\n",
    "    gammabar = np.copy(gammabar_matrix[i,:])\n",
    "    count = 1\n",
    "    diff = 1\n",
    "    while diff > tolerance and count <= 3000: \n",
    "        tau_test = np.copy(tau_ttest)   \n",
    "        for j in range(1, n-1): \n",
    "            sbar_j = sbar[j]\n",
    "            gammabar_j = gammabar[j]\n",
    "            tau_jtest = max(func_f(gamma_s + gammabar_j + eta*(sbar_j*tau[j+1]+(1-sbar_j)*tau[j-1]) + (1-eta)*tau[j]),0)\n",
    "            #if (tau_jtest < psi_star): #or (phi_jtest > phi_h): #not sure if a condition (phi_jtest>phi(j-1)) is needed \n",
    "            #    tau_jtest = psi_star\n",
    "            tau_test[j] = tau_jtest\n",
    "            \n",
    "        count += 1 \n",
    "        if count ==3000: \n",
    "            print(\"Count=3000 number of iterations reached at initial guess No.\",i) \n",
    "            notconverge[i] = 1 \n",
    "            \n",
    "        #diff = np.linalg.norm(phi - phi_test) #Euclidean distance \n",
    "        diff = np.max(np.abs(tau - tau_test))\n",
    "        tau = np.copy(tau_test) #update price array \n",
    "        #if i == 24: \n",
    "        #    plt.plot(phi)\n",
    "    tau_matrix[i,:] = tau #record converged price arrays\n",
    "    #print(phi)\n",
    "\n",
    "\n",
    "# conditions of cutoff belief need to be satisfied \n",
    "# phi1 is greater than zero  \n",
    "# expected liquidity at j=0 is non-positive \n",
    "# expected liquidity at j=1 is positive \n",
    "index =[] #equm candidates \n",
    "for i in range(guessnum): \n",
    "    if notconverge[i] == 0:\n",
    "        tau1 = tau_matrix[i,1] \n",
    "        #exp_w0 = gamma_s+ gammabar_matrix[i,0] + eta*sbar_matrix[i,0]*tau_matrix[i,1] + eta*(1-sbar_matrix[i,0])*tau_matrix[i,0] + (1-eta)*psi_star\n",
    "        #exp_w1 = gamma_s+ gammabar_matrix[i,1] + eta*sbar_matrix[i,1]*tau_matrix[i,2] + eta*(1-sbar_matrix[i,1])*psi_star + (1-eta)*tau_matrix[i,1]\n",
    "        if (tau1 > psi_star):# this is for monotone tau. Otherwise, remove this condition\n",
    "            index.append(i)\n",
    "\n",
    "#print(index)    \n",
    "\n",
    "#stop running if no equm candidates \n",
    "if not index:\n",
    "    print(\"No equm candidate\")\n",
    "    exit() \n",
    "\n",
    "#verify multiple equm, if there are at least one signal apart \n",
    "pi0_meqm = []  # list of cutoffs \n",
    "pi0 = pi_matrix[index[0],0] \n",
    "for i in range(n): # i is the num of signals (equm)\n",
    "    pi0_meqm.append(pi0)\n",
    "    pi0_prime = update(pi0) \n",
    "    if pi0_prime > pi_matrix[index[-1],0]: \n",
    "        n_mequm = i+1 \n",
    "        break \n",
    "    pi0 = pi0_prime \n",
    "\n",
    "if n_mequm == 1: \n",
    "    print(\"Only one equm tau found.\")\n",
    "else: \n",
    "    print(n_mequm,\"equm tau found\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# take the list of cutoffs, get tau by rerunning the iteration part   \n",
    "a = np.empty([len(pi0_meqm),n])\n",
    "a[:] = np.nan\n",
    "pi_meqm = np.copy(a) \n",
    "pi_meqm[:,0] = np.transpose(pi0_meqm) \n",
    "sbar_meqm = np.copy(a) \n",
    "gammabar_meqm = np.copy(a) \n",
    "tau_meqm = np.copy(a)\n",
    "a = np.zeros(n)\n",
    "a[0] = psi_star\n",
    "a[1:n] = tau_h \n",
    "tau_guess = np.copy(a) #initial guess of phi sequence \n",
    "a = np.zeros(n)\n",
    "a[0] = psi_star\n",
    "a[1:n] = np.nan\n",
    "tau_ttest = np.copy(a)\n",
    "tau_ttest[-1] = tau_h \n",
    "notconverge = np.zeros(guessnum)\n",
    "\n",
    "for i in range(len(pi0_meqm)): \n",
    "    pi0 = pi0_meqm[i]\n",
    "    pi = np.copy(pi0)  \n",
    "    sbar_meqm[i,0] = pi0*s_h + (1-pi0)*s_l \n",
    "    gammabar_meqm[i,0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l)\n",
    "    for j in range(n-1):\n",
    "        pi_prime = update(pi) \n",
    "        pi_meqm[i,j+1] = pi_prime \n",
    "        sbar_meqm[i,j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "        gammabar_meqm[i,j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h+(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l)\n",
    "        pi = pi_prime   \n",
    "\n",
    "    sbar = np.copy(sbar_meqm[i,:])\n",
    "    tau = np.copy(tau_guess)\n",
    "    gammabar = np.copy(gammabar_meqm[i,:])\n",
    "    count = 1\n",
    "    diff = 1\n",
    "    while diff > tolerance and count <= 3000: \n",
    "        tau_test = np.copy(tau_ttest)   \n",
    "        for j in range(1, n-1): \n",
    "            sbar_j = sbar[j]\n",
    "            gammabar_j = gammabar[j]\n",
    "            tau_jtest = func_f(gamma_s + gammabar_j + eta*(sbar_j*tau[j+1]+(1-sbar_j)*tau[j-1]) + (1-eta)*tau[j])\n",
    "            #if (tau_jtest < psi_star): \n",
    "            #    tau_jtest = psi_star\n",
    "            tau_test[j] = tau_jtest\n",
    "            \n",
    "        count += 1 \n",
    "        if count ==3000: \n",
    "            print(\"Count=3000 number of iterations reached at initial guess No.\",i)\n",
    "            notconverge[i] = 1\n",
    "            \n",
    "        diff = np.max(np.abs(tau - tau_test))\n",
    "        tau = np.copy(tau_test) #update price array \n",
    "        #if i == 24: \n",
    "        #    plt.plot(phi)\n",
    "    tau_meqm[i,:] = tau #record converged price arrays\n",
    "    #print(phi)\n",
    "#for i in range(len(pi0_meqm)):\n",
    "#    plt.plot(tau_meqm[i,:])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# take the list of cutoffs, get phi and psi by rerunning the iteration part   \n",
    "a = np.empty([len(pi0_meqm),n])\n",
    "a[:] = np.nan\n",
    "pi_meqm = np.copy(a) \n",
    "pi_meqm[:,0] = np.transpose(pi0_meqm) \n",
    "sbar_meqm = np.copy(a) \n",
    "gammabar_meqm = np.copy(a) \n",
    "phi_meqm = np.copy(a)\n",
    "psi_meqm = np.copy(a)\n",
    "a = np.zeros(n)\n",
    "phi_guess = np.copy(a) #initial guess of phi sequence \n",
    "phi_guess[1:n] = phi_h \n",
    "psi_guess = np.copy(a) #initial guess of psi sequence \n",
    "psi_guess[0] = psi_star\n",
    "psi_guess[1:n] = psi_h\n",
    "a = np.zeros(n)\n",
    "a[1:n] = np.nan\n",
    "phi_ttest = np.copy(a)\n",
    "psi_ttest = np.copy(a)\n",
    "phi_ttest[-1] = phi_h #updated guess of phi sequence. specify the length here\n",
    "psi_ttest[-1] = psi_h #updated guess of psi sequence. specify the length here\n",
    "psi_ttest[0] = psi_star #updated guess of psi sequence. specify the length here\n",
    "ICfail = np.empty(len(pi0_meqm))\n",
    "Id_meqm =[]\n",
    "\n",
    "for i in range(len(pi0_meqm)): \n",
    "    pi0 = pi0_meqm[i]\n",
    "    pi = np.copy(pi0)  \n",
    "    sbar_meqm[i,0] = pi0*s_h + (1-pi0)*s_l \n",
    "    gammabar_meqm[i,0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l)\n",
    "    for j in range(n-1):\n",
    "        pi_prime = update(pi) \n",
    "        pi_meqm[i,j+1] = pi_prime \n",
    "        sbar_meqm[i,j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "        gammabar_meqm[i,j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h+(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l)\n",
    "        pi = pi_prime   \n",
    "\n",
    "    sbar = np.copy(sbar_meqm[i,:])\n",
    "    phi = np.copy(phi_guess)\n",
    "    psi = np.copy(psi_guess)\n",
    "    gammabar = np.copy(gammabar_meqm[i,:])\n",
    "    count = 1\n",
    "    diff = 1\n",
    "    tau = tau_meqm[i]\n",
    "    while diff > tolerance and count <= 2000: \n",
    "        phi_test = np.copy(phi_ttest)\n",
    "        psi_test = np.copy(psi_ttest)\n",
    "        for j in range(1, n-1): \n",
    "            sbar_j = sbar[j]\n",
    "            gammabar_j = gammabar[j]\n",
    "            rb_phi = gammabar_j + eta*(sbar_j*phi[j+1]+(1-sbar_j)*phi[j-1]) + (1-eta)*phi[j]\n",
    "            rb_psi = gamma_s + eta*(sbar_j*psi[j+1]+(1-sbar_j)*psi[j-1]) + (1-eta)*psi[j]\n",
    "            rb_tau = gamma_s + gammabar_j + eta*(sbar_j*tau[j+1]+(1-sbar_j)*tau[j-1]) + (1-eta)*tau[j]\n",
    "            phi_jtest = max(func_f2(rb_tau, rb_phi),0) #rb_tau - rb_psi \n",
    "            psi_jtest = max(func_f2(rb_tau, rb_psi),0) #rb_tau - rb_phi\n",
    "                \n",
    "            phi_test[j] = phi_jtest \n",
    "            psi_test[j] = psi_jtest \n",
    "            \n",
    "        count += 1 \n",
    "        if count ==2000: \n",
    "            print(\"Count=2000 number of iterations reached at multiple equm No.\",i)\n",
    "            notconverge[i] = 1\n",
    "            \n",
    "        if (np.abs(phi_test[-5]- phi_h) < tolerance) and (np.abs(psi_test[-5]- psi_h) < tolerance):       \n",
    "            diff = (np.max(np.abs(phi - phi_test)) + np.max(np.abs(psi - psi_test)))/2\n",
    "        else: \n",
    "            diff = 10 \n",
    "        phi = np.copy(phi_test) #update price array \n",
    "        psi = np.copy(psi_test) #update price array \n",
    "      \n",
    "    #check incentive constraint (notconverge[i] ==0) and \n",
    "    if (gammabar[0] + eta*sbar[0]*phi[1] <= tolerance) and (notconverge[i] ==0) and  (all(earlier <= later+tolerance for earlier, later in zip(phi[:], phi[1:]))==True) and (all(earlier+tolerance >= later for earlier, later in zip(psi[:], psi[1:]))==True): \n",
    "        phi_meqm[i,:] = phi #record converged price arrays\n",
    "        psi_meqm[i,:] = psi #record converged price arrays\n",
    "        tau_meqm[i,:] = tau\n",
    "        ICfail[i] = 0 \n",
    "        Id_meqm.append(i) \n",
    "    else: \n",
    "        ICfail[i] = 1\n",
    "        \n",
    "        phi_meqm[i,:] = phi #record converged price arrays\n",
    "        psi_meqm[i,:] = psi #record converged price arrays\n",
    "        tau_meqm[i,:] = tau\n",
    "\n",
    "for i in range(len(pi0_meqm)):\n",
    "    if ICfail[i] == 0: \n",
    "        plt.plot(phi_meqm[i,:])\n",
    "        plt.plot(psi_meqm[i,:])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# knowing prices, simulate for welfare\n",
    "a = np.empty([len(pi0_meqm),n])\n",
    "a[:] = np.nan\n",
    "rbalance_meqm = np.copy(a)\n",
    "q_meqm = np.copy(a)\n",
    "w_meqm = np.copy(a)\n",
    "a = np.zeros(n)\n",
    "a[0] = w_0\n",
    "a[1:n] = w_h \n",
    "w_guess = np.copy(a)\n",
    "a = np.zeros(n)\n",
    "a[0] = w_0\n",
    "a[1:n] = np.nan\n",
    "w_ttest = np.copy(a)\n",
    "w_ttest[-1] = w_h #updated guess of phi sequence. specify the length here\n",
    "\n",
    "for i in range(len(pi0_meqm)): \n",
    "    if ICfail[i] >= 0: \n",
    "        sbar = np.copy(sbar_meqm[i,:])\n",
    "        phi = np.copy(phi_meqm[i,:])\n",
    "        psi = np.copy(psi_meqm[i,:])\n",
    "        gammabar = np.copy(gammabar_meqm[i,:])\n",
    "        for j in range(1,n-1): \n",
    "            sbar_j = sbar[j]\n",
    "            gammabar_j = gammabar[j]\n",
    "            rbalance_meqm[i,j] = (gammabar_j + gamma_s + eta*sbar_j*(phi[j+1]+psi[j+1]) \n",
    "                                  + eta*(1-sbar_j)*(phi[j-1]+psi[j-1])  + (1-eta)*(phi[j]+psi[j]))\n",
    "            def Eq_q(x):\n",
    "                return eq_q(rbalance_meqm[i,j],x)\n",
    "            result  = least_squares(Eq_q, x0 = q_h, bounds=(0, q_star))\n",
    "            if result.success == True:\n",
    "                q_meqm[i,j] = result.x    \n",
    "            \n",
    "        count = 1\n",
    "        diff = 1\n",
    "        w = np.copy(w_guess)\n",
    "        q = np.copy(q_meqm[i,:])\n",
    "        while diff > tolerance and count <= 3000: \n",
    "            w_test = np.copy(w_ttest)   \n",
    "            for j in range(1, n-1): \n",
    "                sbar_j = sbar[j]\n",
    "                gammabar_j = gammabar[j]\n",
    "                w_jtest = (alpha*sigma*(utility(q[j])-q[j]) + eta*sbar_j*beta*w[j+1] \n",
    "                           + eta*(1-sbar_j)*beta*w[j-1] + (1-eta)*beta*w[j])\n",
    "                #if (w_jtest < 0): \n",
    "                #    w_jtest = 0\n",
    "                w_test[j] = w_jtest\n",
    "            \n",
    "            count += 1 \n",
    "            if count ==3000: \n",
    "                print(\"Count=3000 number of iterations reached at multiple equm No.\",i)\n",
    "                notconverge[i] = 1\n",
    "            \n",
    "            diff = np.max(np.abs(w - w_test))\n",
    "            w = np.copy(w_test) #update welfare array \n",
    "\n",
    "        w_meqm[i,:] = w #record converged price arrays\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot figure 12\n",
    "# for monotone prices and welfare\n",
    "color = ['tab:blue','tab:orange','tab:green','tab:red','tab:purple','tab:brown','tab:pink','tab:gray']\n",
    "\n",
    "fig, ax1 = plt.subplots()\n",
    "  \n",
    "ax1.plot(np.append(0,pi_meqm[0,:]),np.append(0,phi_meqm[0,:]),label=r'$\\phi$')\n",
    "ax1.plot(np.append(0,pi_meqm[0,:]),np.append(psi_star,psi_meqm[0,:]), '--',label=r'$\\psi$')\n",
    "ax1.set_ylabel('Prices $\\phi_j$ and $\\psi_j$', fontsize=16)\n",
    "ax1.set_xlabel('Belief $\\pi_j$', fontsize=16)\n",
    "ax1.plot(pi_meqm[0,:],np.zeros(n),'k|')\n",
    "ax1.set_ylim((0,max(phi_h*1.05,psi_star*1.05)))\n",
    "ax1.set_xlim((0,1))\n",
    "ax2 = ax1.twinx()  # instantiate a second axes that shares the same x-axis\n",
    "\n",
    "ax2.plot(np.append(0,pi_meqm[0,:]),np.append(tau_meqm[0,0],tau_meqm[0,:]), ':',color='r',label=r'$\\Omega$')   \n",
    "ax2.set_ylabel(r'Sum of prices $\\tau_j$', fontsize=16)  # we already handled the x-label with ax1\n",
    "ax2.set_ylim((min(tau_meqm[0,:])*0.995,tau_h*1.005))\n",
    "ax2.set_xlim((0,1))\n",
    "plt.title('Competing Currencies: Prices',fontsize=16)\n",
    "#ax1.legend(fontsize=12,loc=4)\n",
    "#ax2.legend(fontsize=12,loc=0)\n",
    "fig.legend([ax1.get_lines()[0],ax1.get_lines()[1], ax2.get_lines()[0]], ['$\\phi$','$\\psi$',r'$\\tau$ (Right)'],loc='upper right',\n",
    "           bbox_to_anchor=(0.4, 0.85),fontsize=14)\n",
    "\n",
    "fig.tight_layout()  # otherwise the right y-label is slightly clipped\n",
    "#plt.savefig('tau.pdf')\n",
    "# DataOut = np.column_stack((np.append(0,pi_meqm[0,:]),np.append(0,phi_meqm[0,:]))) \n",
    "# np.savetxt('dual_curr_phi.dat', DataOut)\n",
    "# DataOut = np.column_stack((np.append(0,pi_meqm[0,:]),np.append(psi_star,psi_meqm[0,:]))) \n",
    "# np.savetxt('dual_curr_psi.dat', DataOut)\n",
    "# DataOut = np.column_stack((np.append(0,pi_meqm[0,:]),np.append(tau_meqm[0,0],tau_meqm[0,:]))) \n",
    "# np.savetxt('dual_curr_tau.dat', DataOut)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# for monotone prices and welfare\n",
    "exchange = np.divide(phi_meqm[0,:], psi_meqm[0,:]) \n",
    "fig, ax1 = plt.subplots()\n",
    "ax1.plot(np.append(0,pi_meqm[0,:]), np.append(0,exchange))\n",
    "\n",
    "ax1.set_ylabel(r'Exchange $\\phi_j/\\psi_j$', fontsize=16)\n",
    "ax1.set_xlabel('Belief $\\pi_j$', fontsize=16)\n",
    "#ax1.plot(pi_meqm[0,:],np.zeros(n),'k|')\n",
    "ax1.set_ylim((0,max(exchange*1.05)))\n",
    "ax1.set_xlim((0,1))\n",
    "ax2 = ax1.twinx()  # instantiate a second axes that shares the same x-axis\n",
    "\n",
    "ax2.plot(np.append(0,pi_meqm[0,:]),np.append(w_meqm[0,0],w_meqm[0,:]),'--',color='tab:red',label=r'$\\Omega$')\n",
    "\n",
    "ax2.set_ylabel(r'Welfare $\\Omega_j$', fontsize=16)  # we already handled the x-label with ax1\n",
    "ax2.set_ylim(min(w_meqm[0,:])*0.999,max(w_meqm[0,:])*1.001)\n",
    "ax2.set_xlim((0,1))\n",
    "plt.title('Competing Currencies',fontsize=16)\n",
    "\n",
    "fig.legend([ax1.get_lines()[0], ax2.get_lines()[0]], [r'$\\phi/\\psi$',r'$\\Omega$ (Right)'],loc='upper right',\n",
    "           bbox_to_anchor=(0.4, 0.85),fontsize=14)\n",
    "fig.tight_layout() \n",
    "#plt.savefig('dual_curr_welfare'+name+'.pdf')\n",
    "# DataOut = np.column_stack((np.append(0,pi_meqm[0,:]),np.append(0,exchange))) \n",
    "# np.savetxt('dual_curr_exchange.dat', DataOut)\n",
    "# DataOut = np.column_stack((np.append(0,pi_meqm[0,:]),np.append(w_meqm[0,0],w_meqm[0,:]))) \n",
    "# np.savetxt('dual_curr_w.dat', DataOut)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Mimic Fiat Money \n",
    "kappa_grid = [0.009, 1]\n",
    "Phi_kappa = np.zeros([len(kappa_grid),n])\n",
    "Pi_kappa = np.zeros([len(kappa_grid),n])\n",
    "Psi_kappa = np.zeros([len(kappa_grid),n])\n",
    "Tau_kappa = np.zeros([len(kappa_grid),n])\n",
    "W_kappa = np.zeros([len(kappa_grid),n])\n",
    "\n",
    "for k in range(len(kappa_grid)): \n",
    "    gamma_h_tilde = gamma_h * kappa_grid[k] \n",
    "    gamma_l_tilde = gamma_l * kappa_grid[k] \n",
    "    gamma_s_tilde = gamma_s * kappa_grid[k]\n",
    "    \n",
    "    def eq_psi_star(y): #safe asset price if safe currency is the only asset circulating\n",
    "        return func_f(gamma_s_tilde + y) -y\n",
    "\n",
    "    result = least_squares(eq_psi_star, w_star, bounds=(0, w_star))\n",
    "    psi_star = result.x \n",
    "    if result.success == False:  \n",
    "        print(\"Error in Least squares when solve for psi_star\")\n",
    "\n",
    "    if gamma_s_tilde>=0: \n",
    "        def eq_tau_h(y): #tau_h is the sum of phi and psi when true state is high\n",
    "            return func_f(zeta*(s_h*gamma_h_tilde +s_l*gamma_l_tilde) +gamma_s_tilde +y) -y\n",
    "    else: \n",
    "        def eq_tau_h(y): #tau_h is the sum of phi and psi when true state is high\n",
    "            return func_f(zeta*(s_h*gamma_h_tilde +s_l*gamma_l_tilde) +y) -y\n",
    "\n",
    "    result = least_squares(eq_tau_h, x0=w_star, bounds=(0, 10))\n",
    "    if result.success == True: \n",
    "        tau_h = result.x\n",
    "    else: \n",
    "        exit()\n",
    "        print('Error: wrong tau_h')\n",
    "\n",
    "    if tau_h <=0:\n",
    "        print(\"Error: Neg tau_h\") \n",
    "    elif isinstance(tau_h,complex): \n",
    "        print(\"Error: Complex tau_h\")\n",
    "\n",
    "    if gamma_s_tilde > 0: \n",
    "        \n",
    "        def equations(p):\n",
    "            x, y = p\n",
    "            return (func_f2(zeta*(s_h*gamma_h_tilde +s_l*gamma_l_tilde) +gamma_s_tilde +tau_h[0], gamma_s_tilde + x) -x, \n",
    "                func_f2(zeta*(s_h*gamma_h_tilde +s_l*gamma_l_tilde) +gamma_s_tilde +tau_h[0], zeta*(s_h*gamma_h_tilde +s_l*gamma_l_tilde) + y) -y)\n",
    "        psi_h, phi_h = fsolve(equations,(psi_star,w_star))\n",
    "\n",
    "    if gamma_s_tilde <= 0: \n",
    "        phi_h = tau_h \n",
    "        psi_h = 0\n",
    "\n",
    "    pi0_guess = np.linspace(guessmin,guessmax, num=guessnum) #initial guess of pi0 \n",
    "    a = np.empty([guessnum,n])\n",
    "    a[:] = np.nan\n",
    "    pi_matrix = np.copy(a) \n",
    "    pi_matrix[:,0] = np.transpose(pi0_guess) \n",
    "    sbar_matrix = np.copy(a) \n",
    "    gammabar_matrix = np.copy(a) \n",
    "    tau_matrix = np.copy(a)\n",
    "    a = np.zeros(n)\n",
    "    a[0] = psi_star\n",
    "    a[1:n] = tau_h \n",
    "    tau_guess = np.copy(a) #initial guess of phi sequence \n",
    "    a = np.zeros(n)\n",
    "    a[0] = psi_star\n",
    "    a[1:n] = np.nan\n",
    "    tau_ttest = np.copy(a)\n",
    "    tau_ttest[-1] = tau_h \n",
    "    notconverge = np.zeros(guessnum)\n",
    "\n",
    "    for i in range(guessnum): \n",
    "        pi0 = pi0_guess[i]\n",
    "        pi = np.copy(pi0)  \n",
    "        sbar_matrix[i,0] = pi0*s_h + (1-pi0)*s_l \n",
    "        gammabar_matrix[i,0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h_tilde+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l_tilde)\n",
    "        for j in range(n-1):\n",
    "            pi_prime = update(pi) \n",
    "            pi_matrix[i,j+1] = pi_prime \n",
    "            sbar_matrix[i,j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "            gammabar_matrix[i,j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h_tilde+(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l_tilde)\n",
    "            pi = pi_prime   \n",
    "\n",
    "        sbar = np.copy(sbar_matrix[i,:])\n",
    "        tau = np.copy(tau_guess)\n",
    "        gammabar = np.copy(gammabar_matrix[i,:])\n",
    "        count = 1\n",
    "        diff = 1\n",
    "        while diff > tolerance and count <= 3000: \n",
    "            tau_test = np.copy(tau_ttest)   \n",
    "            for j in range(1, n-1): \n",
    "                sbar_j = sbar[j]\n",
    "                gammabar_j = gammabar[j]\n",
    "                tau_jtest = max(func_f(gamma_s_tilde + gammabar_j + eta*(sbar_j*tau[j+1]+(1-sbar_j)*tau[j-1]) + (1-eta)*tau[j]),0)\n",
    "                #if (tau_jtest < psi_star): #or (phi_jtest > phi_h): #not sure if a condition (phi_jtest>phi(j-1)) is needed \n",
    "                #    tau_jtest = psi_star\n",
    "                tau_test[j] = tau_jtest\n",
    "\n",
    "            count += 1 \n",
    "            if count ==3000: \n",
    "                notconverge[i] = 1 \n",
    "\n",
    "            #diff = np.linalg.norm(phi - phi_test) #Euclidean distance \n",
    "            diff = np.max(np.abs(tau - tau_test))\n",
    "            tau = np.copy(tau_test) #update price array \n",
    "            \n",
    "        tau_matrix[i,:] = tau #record converged price arrays\n",
    "        #print(phi)\n",
    "\n",
    "    # conditions of cutoff belief need to be satisfied \n",
    "    # phi1 is greater than zero  \n",
    "    # expected liquidity at j=0 is non-positive \n",
    "    # expected liquidity at j=1 is positive \n",
    "    index =[] #equm candidates \n",
    "    for i in range(guessnum): \n",
    "        if notconverge[i] == 0:\n",
    "            index.append(i)\n",
    "\n",
    "    #stop running if no equm candidates \n",
    "    if not index:\n",
    "        print(\"No equm candidate\")\n",
    "        exit() \n",
    "\n",
    "    #verify multiple equm, if there are at least one signal apart \n",
    "    pi0_meqm = []  # list of cutoffs \n",
    "    pi0 = pi_matrix[index[0],0] \n",
    "    for i in range(n): # i is the num of signals (equm)\n",
    "        pi0_meqm.append(pi0)\n",
    "        pi0_prime = update(pi0) \n",
    "        if pi0_prime > pi_matrix[index[-1],0]: \n",
    "            n_mequm = i+1 \n",
    "            break \n",
    "        pi0 = pi0_prime \n",
    "\n",
    "    # take the list of cutoffs, get tau by rerunning the iteration part   \n",
    "    a = np.empty([len(pi0_meqm),n])\n",
    "    a[:] = np.nan\n",
    "    pi_meqm = np.copy(a) \n",
    "    pi_meqm[:,0] = np.transpose(pi0_meqm) \n",
    "    sbar_meqm = np.copy(a) \n",
    "    gammabar_meqm = np.copy(a) \n",
    "    tau_meqm = np.copy(a)\n",
    "    a = np.zeros(n)\n",
    "    a[0] = psi_star\n",
    "    a[1:n] = tau_h \n",
    "    tau_guess = np.copy(a) #initial guess of phi sequence \n",
    "    a = np.zeros(n)\n",
    "    a[0] = psi_star\n",
    "    a[1:n] = np.nan\n",
    "    tau_ttest = np.copy(a)\n",
    "    tau_ttest[-1] = tau_h \n",
    "    notconverge = np.zeros(guessnum)\n",
    "\n",
    "    for i in range(len(pi0_meqm)): \n",
    "        pi0 = pi0_meqm[i]\n",
    "        pi = np.copy(pi0)  \n",
    "        sbar_meqm[i,0] = pi0*s_h + (1-pi0)*s_l \n",
    "        gammabar_meqm[i,0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h_tilde+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l_tilde)\n",
    "        for j in range(n-1):\n",
    "            pi_prime = update(pi) \n",
    "            pi_meqm[i,j+1] = pi_prime \n",
    "            sbar_meqm[i,j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "            gammabar_meqm[i,j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h_tilde+(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l_tilde)\n",
    "            pi = pi_prime   \n",
    "\n",
    "        sbar = np.copy(sbar_meqm[i,:])\n",
    "        tau = np.copy(tau_guess)\n",
    "        gammabar = np.copy(gammabar_meqm[i,:])\n",
    "        count = 1\n",
    "        diff = 1\n",
    "        while diff > tolerance and count <= 3000: \n",
    "            tau_test = np.copy(tau_ttest)   \n",
    "            for j in range(1, n-1): \n",
    "                sbar_j = sbar[j]\n",
    "                gammabar_j = gammabar[j]\n",
    "                tau_jtest = func_f(gamma_s_tilde + gammabar_j + eta*(sbar_j*tau[j+1]+(1-sbar_j)*tau[j-1]) + (1-eta)*tau[j])\n",
    "                tau_test[j] = tau_jtest\n",
    "\n",
    "            count += 1 \n",
    "            if count ==3000: \n",
    "                notconverge[i] = 1\n",
    "\n",
    "            diff = np.max(np.abs(tau - tau_test))\n",
    "            tau = np.copy(tau_test) #update price array \n",
    "            #if i == 24: \n",
    "            #    plt.plot(phi)\n",
    "        tau_meqm[i,:] = tau #record converged price arrays\n",
    "        #print(phi)\n",
    "\n",
    "    # take the list of cutoffs, get phi and psi by rerunning the iteration part   \n",
    "    a = np.empty([len(pi0_meqm),n])\n",
    "    a[:] = np.nan\n",
    "    pi_meqm = np.copy(a) \n",
    "    pi_meqm[:,0] = np.transpose(pi0_meqm) \n",
    "    sbar_meqm = np.copy(a) \n",
    "    gammabar_meqm = np.copy(a) \n",
    "    phi_meqm = np.copy(a)\n",
    "    psi_meqm = np.copy(a)\n",
    "    a = np.zeros(n)\n",
    "    phi_guess = np.copy(a) #initial guess of phi sequence \n",
    "    phi_guess[1:n] = phi_h \n",
    "    psi_guess = np.copy(a) #initial guess of psi sequence \n",
    "    psi_guess[0] = psi_star\n",
    "    psi_guess[1:n] = psi_h\n",
    "    a = np.zeros(n)\n",
    "    a[1:n] = np.nan\n",
    "    phi_ttest = np.copy(a)\n",
    "    psi_ttest = np.copy(a)\n",
    "    phi_ttest[-1] = phi_h #updated guess of phi sequence. specify the length here\n",
    "    psi_ttest[-1] = psi_h #updated guess of psi sequence. specify the length here\n",
    "    psi_ttest[0] = psi_star #updated guess of psi sequence. specify the length here\n",
    "    ICfail = np.empty(len(pi0_meqm))\n",
    "    Id_meqm =[]\n",
    "\n",
    "    for i in range(len(pi0_meqm)): \n",
    "        pi0 = pi0_meqm[i]\n",
    "        pi = np.copy(pi0)  \n",
    "        sbar_meqm[i,0] = pi0*s_h + (1-pi0)*s_l \n",
    "        gammabar_meqm[i,0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h_tilde+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l_tilde)\n",
    "        for j in range(n-1):\n",
    "            pi_prime = update(pi) \n",
    "            pi_meqm[i,j+1] = pi_prime \n",
    "            sbar_meqm[i,j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "            gammabar_meqm[i,j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h_tilde+(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l_tilde)\n",
    "            pi = pi_prime   \n",
    "\n",
    "        sbar = np.copy(sbar_meqm[i,:])\n",
    "        phi = np.copy(phi_guess)\n",
    "        psi = np.copy(psi_guess)\n",
    "        gammabar = np.copy(gammabar_meqm[i,:])\n",
    "        count = 1\n",
    "        diff = 1\n",
    "        tau = tau_meqm[i]\n",
    "        while diff > tolerance and count <= 2000: \n",
    "            phi_test = np.copy(phi_ttest)\n",
    "            psi_test = np.copy(psi_ttest)\n",
    "            for j in range(1, n-1): \n",
    "                sbar_j = sbar[j]\n",
    "                gammabar_j = gammabar[j]\n",
    "                rb_phi = gammabar_j + eta*(sbar_j*phi[j+1]+(1-sbar_j)*phi[j-1]) + (1-eta)*phi[j]\n",
    "                rb_psi = gamma_s_tilde + eta*(sbar_j*psi[j+1]+(1-sbar_j)*psi[j-1]) + (1-eta)*psi[j]\n",
    "                rb_tau = gamma_s_tilde + gammabar_j + eta*(sbar_j*tau[j+1]+(1-sbar_j)*tau[j-1]) + (1-eta)*tau[j]\n",
    "                phi_jtest = max(func_f2(rb_tau, rb_phi),0) #rb_tau - rb_psi \n",
    "                psi_jtest = max(func_f2(rb_tau, rb_psi),0) #rb_tau - rb_phi\n",
    "\n",
    "                phi_test[j] = phi_jtest \n",
    "                psi_test[j] = psi_jtest \n",
    "\n",
    "            count += 1 \n",
    "            if count ==2000: \n",
    "                notconverge[i] = 1\n",
    "\n",
    "            if (np.abs(phi_test[-5]- phi_h) < tolerance) and (np.abs(psi_test[-5]- psi_h) < tolerance):       \n",
    "                diff = (np.max(np.abs(phi - phi_test)) + np.max(np.abs(psi - psi_test)))/2\n",
    "            else: \n",
    "                diff = 10 \n",
    "            phi = np.copy(phi_test) #update price array \n",
    "            psi = np.copy(psi_test) #update price array \n",
    "\n",
    "        #check incentive constraint (notconverge[i] ==0) and \n",
    "        if (gammabar[0] + eta*sbar[0]*phi[1] <= tolerance) and (notconverge[i] ==0) and  (all(earlier <= later+tolerance for earlier, later in zip(phi[:], phi[1:]))==True) and (all(earlier+tolerance >= later for earlier, later in zip(psi[:], psi[1:]))==True): \n",
    "            phi_meqm[i,:] = phi #record converged price arrays\n",
    "            psi_meqm[i,:] = psi #record converged price arrays\n",
    "            tau_meqm[i,:] = tau\n",
    "            ICfail[i] = 0 \n",
    "            Id_meqm.append(i) \n",
    "        else: \n",
    "            ICfail[i] = 1\n",
    "\n",
    "            phi_meqm[i,:] = phi #record converged price arrays\n",
    "            psi_meqm[i,:] = psi #record converged price arrays\n",
    "            tau_meqm[i,:] = tau\n",
    "\n",
    "    for i in range(len(pi0_meqm)):\n",
    "        if ICfail[i] == 0: \n",
    "            plt.plot(phi_meqm[i,:])\n",
    "            plt.plot(psi_meqm[i,:])\n",
    "            \n",
    "    #recording prices and pis by kappa. only record the last sequence per kappa\n",
    "    Phi_kappa[k,:] = np.copy(phi_meqm[Id_meqm[-1],:])\n",
    "    Psi_kappa[k,:] = np.copy(psi_meqm[Id_meqm[-1],:])\n",
    "    Tau_kappa[k,:] = np.copy(tau_meqm[Id_meqm[-1],:])\n",
    "    Pi_kappa[k,:]  = np.copy(pi_meqm[Id_meqm[-1],:])\n",
    "\n",
    "    #solve for q in the DM \n",
    "    def eq_q(x,y): #x is real balances and y is q \n",
    "        if x >= w_star: \n",
    "            return y - q_star #meaning that q=q_star\n",
    "        else: \n",
    "            return -x + (1 - rho)*utility(y) + rho*y\n",
    "\n",
    "    rbalance_h = zeta*(s_h*gamma_h+(1-s_h)*gamma_l) + gamma_s + phi_h + psi_h  \n",
    "    def eq_qh(y): #given real balance and y is q \n",
    "        if rbalance_h >= w_star: \n",
    "            return y - q_star #meaning that q=q_star\n",
    "        else: \n",
    "            return -rbalance_h + (1 - rho)*utility(y) + rho*y\n",
    "\n",
    "    result = least_squares(eq_qh, x0=q_star,bounds=(0,q_star)) \n",
    "    if result.success == True: \n",
    "        q_h = result.x \n",
    "    else: \n",
    "        print('Error: wrong q_h')\n",
    "    w_h = (alpha*sigma*(utility(q_h) - q_h))/(1-beta)\n",
    "\n",
    "    rbalance_0 = gamma_s + psi_star\n",
    "    def eq_q0(y): #given real balance and y is q \n",
    "        if rbalance_0 >= w_star: \n",
    "            return y - q_star #meaning that q=q_star\n",
    "        else: \n",
    "            return -rbalance_0 + (1 - rho)*utility(y) + rho*y\n",
    "    result = least_squares(eq_q0, x0 = q_h, bounds=(0, q_star))  \n",
    "    if result.success == True: \n",
    "        q_0 = result.x \n",
    "    w_0 = (alpha*sigma*(utility(q_0) - q_0))/(1-beta) \n",
    "\n",
    "    # knowing prices, simulate for welfare\n",
    "    a = np.empty([len(pi0_meqm),n])\n",
    "    a[:] = np.nan\n",
    "    rbalance_meqm = np.copy(a)\n",
    "    q_meqm = np.copy(a)\n",
    "    w_meqm = np.copy(a)\n",
    "    a = np.zeros(n)\n",
    "    a[0] = w_0\n",
    "    a[1:n] = w_h \n",
    "    w_guess = np.copy(a)\n",
    "    a = np.zeros(n)\n",
    "    a[0] = w_0\n",
    "    a[1:n] = np.nan\n",
    "    w_ttest = np.copy(a)\n",
    "    w_ttest[-1] = w_h #updated guess of phi sequence. specify the length here\n",
    "\n",
    "    for i in Id_meqm:  \n",
    "        sbar = np.copy(sbar_meqm[i,:])\n",
    "        phi = np.copy(phi_meqm[i,:])\n",
    "        psi = np.copy(psi_meqm[i,:])\n",
    "        gammabar = np.copy(gammabar_meqm[i,:])\n",
    "        for j in range(1,n-1): \n",
    "            sbar_j = sbar[j]\n",
    "            gammabar_j = gammabar[j]\n",
    "            rbalance_meqm[i,j] = (gammabar_j + gamma_s_tilde + eta*sbar_j*(phi[j+1]+psi[j+1]) \n",
    "                                  + eta*(1-sbar_j)*(phi[j-1]+psi[j-1])  + (1-eta)*(phi[j]+psi[j]))\n",
    "            def Eq_q(x):\n",
    "                return eq_q(rbalance_meqm[i,j],x)\n",
    "            result  = least_squares(Eq_q, x0 = q_h, bounds=(0, q_star))\n",
    "            if result.success == True:\n",
    "                q_meqm[i,j] = result.x    \n",
    "\n",
    "        count = 1\n",
    "        diff = 1\n",
    "        w = np.copy(w_guess)\n",
    "        q = np.copy(q_meqm[i,:])\n",
    "        while diff > tolerance and count <= 3000: \n",
    "            w_test = np.copy(w_ttest)   \n",
    "            for j in range(1, n-1): \n",
    "                sbar_j = sbar[j]\n",
    "                gammabar_j = gammabar[j]\n",
    "                w_jtest = (alpha*sigma*(utility(q[j])-q[j]) + eta*sbar_j*beta*w[j+1] \n",
    "                           + eta*(1-sbar_j)*beta*w[j-1] + (1-eta)*beta*w[j])\n",
    "\n",
    "                w_test[j] = w_jtest\n",
    "\n",
    "            count += 1 \n",
    "            if count ==3000: \n",
    "                notconverge[i] = 1\n",
    "\n",
    "            diff = np.max(np.abs(w - w_test))\n",
    "            w = np.copy(w_test) #update welfare array \n",
    "\n",
    "        w_meqm[i,:] = w #record converged price arrays\n",
    "        \n",
    "    W_kappa[k,:]  = np.copy(w_meqm[Id_meqm[-1],:])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot figure 12 right panel and figure 13 left panel\n",
    "\n",
    "color = ['tab:blue','tab:orange','tab:red','tab:green','tab:purple','tab:brown','tab:pink','tab:gray']\n",
    "for i in range(len(kappa_grid)): \n",
    "    \n",
    "    fig, ax1 = plt.subplots()\n",
    "    ax1.plot(np.append(0,Pi_kappa[i,:]), np.append(0,Phi_kappa[i,:]))\n",
    "    ax1.plot(np.append(0,Pi_kappa[i,:]), np.append(Psi_kappa[i,0],Psi_kappa[i,:]), '--')\n",
    "\n",
    "    ax1.set_ylabel('Prices $\\phi_j$ and $\\psi_j$', fontsize=16)\n",
    "    ax1.set_xlabel('Belief $\\pi_j$', fontsize=16)\n",
    "    #ax1.plot(pi_meqm[0,:],np.zeros(n),'k|')\n",
    "    ax1.set_ylim((0,max(phi_h*1.05,psi_star*1.05)))\n",
    "    ax1.set_xlim((0,1))\n",
    "    ax2 = ax1.twinx()  # instantiate a second axes that shares the same x-axis\n",
    "\n",
    "    ax2.plot(np.append(0,Pi_kappa[i,:]),np.append(Tau_kappa[i,0],Tau_kappa[i,:]),':', color='tab:red',label=r'$\\phi$')\n",
    "\n",
    "    ax2.set_ylabel(r'Sum of prices $\\tau_j$', fontsize=16)  # we already handled the x-label with ax1\n",
    "    ax2.set_ylim((min(tau_meqm[Id_meqm[-1],:])*0.995,tau_h*1.005))\n",
    "    ax2.set_xlim((0,1))\n",
    "    name = str(kappa_grid[i])\n",
    "    plt.title('Competing Currencies and Fiat Money: $\\kappa$='+name,fontsize=16)\n",
    "\n",
    "    fig.legend([ax1.get_lines()[0],ax1.get_lines()[1], ax2.get_lines()[0]], ['$\\phi$','$\\psi$',r'$\\tau$ (Right)'],loc='upper right',\n",
    "               bbox_to_anchor=(0.4, 0.85),fontsize=14)\n",
    "\n",
    "    fig.tight_layout() \n",
    "    \n",
    "    #plt.savefig('dual_curr_fiat_money'+name+'.pdf')\n",
    "    \n",
    "#     DataOut = np.column_stack((np.append(0,Pi_kappa[i,:]),np.append(0,Phi_kappa[i,:]))) \n",
    "#     np.savetxt('dual_curr_fiat_money_phi'+name+'.dat', DataOut)\n",
    "#     DataOut = np.column_stack((np.append(0,Pi_kappa[i,:]),np.append(Psi_kappa[i,0],Psi_kappa[i,:]))) \n",
    "#     np.savetxt('dual_curr_fiat_money_psi'+name+'.dat', DataOut)\n",
    "#     DataOut = np.column_stack((np.append(0,Pi_kappa[i,:]),np.append(Tau_kappa[i,0],Tau_kappa[i,:]))) \n",
    "#     np.savetxt('dual_curr_fiat_money_tau'+name+'.dat', DataOut)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABNA0lEQVR4nO3deVxc9dU/8M9hXxIYlkASsg5xS9RESFyrvz4KWrV1C8R9rQGtrba2BqNttfo8jaRqta1ViNa1tQlEa622ClHbqFUTSFwSExMmCQlJICzDDjPMnN8f9w4ZhmFmGGbmznLerxcvmHvn3nvmMszhuxMzQwghhAg2UVoHIIQQQjgjCUoIIURQkgQlhBAiKEmCEkIIEZQkQQkhhAhKkqCEEEIEpYhPUESkJ6IqImogIla/V2gd13ipcZcH4Dohfb8CdZ8mgohWEFGNB88rV38Hzr706nP88nrVGNnVuW2x+PrawY6ISkLpbyKYRXSCIqIiAA0ANgEoBJAGoBSAUcOwvFUGYK0/LxAm98vv9ymAdADqmZmcfBnU5/jz9RoBlDjbob5XjH66blBS/2FogHLP07WOJxxQpA7UJSIdgA4ApcxcqXE4HiOiEgDFzFwY4OvqEIL3KxQR0QoAhe5+x+p/6YuZOd9H1/X4vWWLEYAeynui1mF/DQADgBJmJl/EFyrUUqWemYu1jiXURXIJqhyAQT5sPSb3SzhTDaUUPUz9Z6YAQJUWAYnwEckJajGUPy6XiEhHRBVE1KHW569w2F+j1jlXqc+pU48pVx93qP+Z2p5fpdbfV9mdM8/JNUftJ6IqABUACmz77I6pc7iOLa4au7j0dvv1dvtq7NqVRrw+L+6XYxwj2lPUaxXZVYeMtc3pPfDktanPsf3OWH2erU3GMT5X17E/x6hrOFyvxK5drm488aq/izpbrABy3d1nTzl5vU7jdPXecqMCQJHDthIo75V2J/F4+vc01r0a62+jQn0N9ucqt21T34d1TvYXqD/rbffGw9ctAiCSE5QeSnuKOxsAGJk5DUA+gEIa2QCaDqV0UQZgrrptD4BN6jGroPwR21/3SrvnG9Rr2KsC0K4eX2rbr1YZlAKoZeY0Znb1QWaLq9QurjKHa1Sp1zAA0DFzLjOvHuN8nt4vd9IBrIHSflLoYpvTe2D3/DFfm/pBlK7uS8PI++/I6XVIaUNZrN5nArAcTj5w7bQDyFefWzGeeAHYqsPSABRD+WfAU3k0uoOEq04RTuMc53trmNrWVW+fBNXzjHXPPf17cvW+dfa+KAdQRErpzabELo5qKL9De0UADGqS0qm1A8PVm2rS8+RLB+EfzByRXwDqAJS7eU4BgAaHbToADOUNbTtPhd3+FQA67B7rnTx/hZPzFaiP8+yPV7dV2e0vAVAzxuspcXjsGFeN3WOGUk/u9Jre3K8x4nC8bp1j/I7bPLgHY7429Xc25muxj8/VdaB8eHWoP+u8eH8xgDwP42WHY0fcMxfXqABQN57fh5s4nb63xjjO/jWU2OKwv6fqz2x3jLd/TzWO5x7jfVFje4968D6wXbfE9nfgqy8oybLKl+eM1K9ILkFthvImdiUPyn+2w5jZqP5oX90zourA4RhX/3XbzmewO99iADq1+qJBrXLIc7iepxzjslePo1UzBQBqXTwX8Ox+ecpZF2r7bZ7cg7Femx4OvzMXxrwOM1fjaOnXVg2qG+tEdlVXdWNUE7mKt97DeCfMgzi9sQ5KSU4HpVQzVjult39PNu7eF+U42quwFMrvbywFapzrANiGTuhcPF9oIEbrADRUBuWDp0j9MHLGAIfqFrv6cE8/BF1S/yj0UBIAoCS0evZRzywX2gFcSUQr1Wu763Hkyf1yJsPJNqObbRO5B/bJ3h2X12GlunO1+jvaAOXDb1QVKB3t4VjMzKXqNk+7x44n3gmZYJxjYmYjEVVDuT/LoFTdOTPRvyd3v69aImpXq+wKMLpKz96VANaqCbKWiIrV2CuJKI+Z68nzsUxldolW+FDElqDUN1QxAFunBR0w3FhaQUQ69YO43fZYfU4FgMoJviEL7c5XBaV3XL0aVzWU/xKHG49J6UBga3RvB7BYPX4iJZrFUP6A86F8YBldPdmT+6U+1QC1kV/98HFsQHfLg3vg6thaKO0Kw78z9dhR98rVdYiowOEYVyVh25gXg+0c7uJ0iNfWZdx2z0pdHuQ9d3FO5L1VAWAllPey02Qz0b8nD98X5epXrf051fep/fOc1RoY7BImmLnUwy+3sQvvRGyCAobf8LkAlgDYo/43WQOlntyoPi0fyh/2HihVD/W2/z4nwAglMXXYXcNePoAlpPYChNJwa/ujr4XyQbIHE/sgM0B5PQ1QSkbuGtc9vV8VAGy9ocrUx8bRZ3PL1T1w5zz1+x7160oXx7q6Tpm6bQ+Uhn2nHUjUD+RqALZqsyXqOYwexpsPJTF0QPlwrXYRr9c8iNPr95aaaGsxskODMxP9e3L5vmClo0MeRnfSKILSEcfG4JBYKtTj8mz/LI6X+o9bB5R2syI1RplRYgIidqCuVkjpYbZ2rA+7AMUwakCm+t9lHZQeXgFrExHCl9RSWR172AtRBLeILkFFuHQaPa7HiAibnkaEnZVwPaxAhJBI7iQRsZi5kogApT3JlqQ2QylV+bxqSQh/U2sFygFs5gBPAyb8R6r4hBBCBCWp4hNCCBGUgr6KLyoqihMTE7UOQwghgk5fXx8zc9gWNII+QSUmJqK3t1frMIQQIugQUb/WMfhT2GZeIYQQoU0SlBBCiKAkCUoIIURQkgQlhBAiKEmCEkIIEZQkQQkhhAhKAU9Q6lIGDeqCaXXuZtAWQggRmbQYB5Vum2lYnUHbqEEMQggR0ox9Jq1D8LuAl6BsC7Sp9DI5qRBCjN+rn+3XOgS/06wNiohKxlo6nIhKiGgzEW0eGhoKdGhCCBHULD09+Hh3i9Zh+J2WnSTGnBKfmSuZeTEzL46JCfrZmIQQImCGOjqw97rrccprz2odit9pkqDUVS+FEEKMw1B7OxpvuhmDDQZ8lD1f63D8TqviSTqAdo2uLYQQIWeorQ2NN90MU2MjPv3+SmxtSdE6JL/TpATFzAZmLtXi2kIIEWrYasX+0ttg2r8fM595Gn+LnYlTZuq0DsvvZKCuEEIEOYqKwpSf/Bgzn3kGQwsX48sDRpw1L1PrsPxOEpQQQgQpc3MLut5+GwAw6ayzkHz6afivoQ1WRkQkKOkiJ4QQQch86BAab7oZQ21tSDrjDMSkpQEAPtrdiqS4aCyKgCo+SVBCCBFkTAcOoPHGm2Dp7MTMNZXDyQlQEtRpc9MRFxP+FWDh/wqFECKEDO7Zg33XXgdLTw9mPf88kk45ZXjfQWM/DK29HlXvEZFOnfu0yNmcp2PtJ6IOIqohohWutgWClKCEECKI9H74EdhsxuyXXkTCcceN2PfR7lYAwLeO8aj9aRmgTHxAREvU2XsqPdhf7DAlHcbY5neSoIQQIgiw2QyKjUX69dch5bsXj6jWs/lodysyJ8XhuOzJtk0xRLTZ7imVtiTkkIz0AGpGXG/s/Toicpwn1dk2v4uIBNXV1YWWlhaYzWatQxEOYmNjkZWVhZSU8B90KMRY+r/4Ak13/xQ5Tz6BxAULnCYnZsZHDW04MzcTRGTbPMTMi12dm4j0ANrHKgE52Z8OoJ2IKuzGqzrb5ndhn6C6urrQ3NyMnJwcJCYm2v9ihcaYGf39/WhqagIASVIiIvXV1WF/SSmi09MRnaob83m7WnpwpHsQ3xp/9/IiN0llxH5byYqIjERUxMzVzraNNwhvhH0niZaWFuTk5CApKUmSU5AhIiQlJSEnJwctLeE/M7MQjno/+QSNty5HTFYWZr/yMuJm5Iz53A93Ke1PZ3nW/gQAUJPJavXnPHf71ZUk8hyeM2pboIR9gjKbzUhMTNQ6DOFCYmKiVL+KiNP/5ZfYX3ob4mbMwOyXX0JsdrbL53+4uxVzMpKQo/Ps84yICgCU21Yvh1JNByKqcbF/nbqvCADUkpKzbQER9lV8AKTkFOTk9yMiUcJxxyHt2muRsfxWp21O9kxDVnxiaMPSvBken19tU8p1sr3Q1X4A9epXtfo8o+O2QAn7EpQQQgST7vffx1BHByguDtkr7nGbnACgvrEDfSaLp93Lw4YkqDBRX1+vdQhCCDeMf/sbDtzxQxx58slxHffhrlZERxHOyM3wU2TBSRJUmFi7dq3WIQghXOhYuw6HVt6H5NNPQ/aK8U3IsHHXESyaqUNKQqyfogtOkqBCRG3t2IO4jUYjcnOdVSV7drwQwr/aX34Fhx94AMnnnI0ZTz+NqKQkj4/t6DXhi6ZOnB1h1XuAJKiwUFlZiWXLlo2532g0Ij09PYARCSFsrP396HjlFUwuLMTM3/8eUfHx4zr+44Y2MANnHzPFTxEGr4joxefoV29uw/aDXQG95vzpKXjgewv8cu62tjbodLox92/evBkFBQV+ubYQwjlmBqxWRCUmYvafX0G0TgeKGf9H7sZdRzA5IQYLZ6T6IcrgJiWoIGY0GmE0GlFbWwuj0YjVq1ePek59fT2WLFkyYlt1dTXKyspgNBpHbK+srERZWZk/QxZCQElOLY8+ioNl94ItFsRkZnqVnJgZG3e14szcDMRER97HdUSWoPxVkvGl+vp6GAwGFBUVAQCKiopQX1+P0tJSVFRUDD9v7dq1KC8/OpN+dXU1ioqKUFFRgfb29hElq2XLlmHVqlUBew1CRCK2WnH4oYdg/OtapF1zNTCBcX57WnvRZOzHbd923cYcriIyQYWCsrIy1NQokwvbSkI6nQ4Gg+vJhIuKimA0GmEwGKDX64e/244vLCz0a9xCRDIeGsLB++5D19/fRMby5Zhy908mNBB9ozq90TkR2EEC0KiKz26RrCItrh/samtrh5OK0Wgc/rm2tnZEgqmursaVV1456vh169YNtznZJ6ja2lppixLCjw7dfz+6/v4mpvzkJ8j66d0TniVl465WzExPxOyMZB9FGFq0KkGtZOZidRLCgK8xEuz0ej3a29sBHO3gYDAYUFVVNVyqAoBNmzYNVwE6cuw0YTAYpCefEH6WunQpEk4+GenXXjvhc5ktyvRGlyya7oPIQlPAExQRlQDYpCamSrcHRCC9Xo/CwkJUVlaioaEBRqMR7e3tI5KT0WhERobzUeUlJSVYvXo1Kisrh6sH9Xo98vI0mZBYiLBm6epC74cfIuWii5B86qlIPvVUn5x309529AwO4ZwI7F5uo0UJytba105EFQDK1MkIh6lJrAQA4uLiAhtdkCgpKQFwtNODo3Xr1o1ZegKAFStWoL6+Hnq93mUXdCGE94ba29F4660w7dqNxIULEZsz9nIZ4/Xe1y2Ii46KyAG6Nlr1W2xQk1Id1ERkj5krmXkxMy+O8aJrZrgwGo1jJpeGhobhtqWxOPbiE0L4jrm5GfuuvwGmBgNmPPUHnyYnAHhvRwtO06cjOT5yPwO1SFCb7H7WATBqEENIMBgMTjs1GI3GUWOfhBCBY9q/H/uuvQ5Dhw9j1rNrMOmcc3x6/j2tvTC09uK847N8et5QE/AEpS52pVMXy4K0Q41trDYjnU7nsnrPRnrsCeEfvZ98Amt3N2a98DyS/PDP4ns7lBWmzz3e9SKG4U6TsqNtiWEAMoOpECJkWE0mRMXFIa24GJMLCjxay8kb7+1oxjFZkzArw/NJZR0RkQ6AXv1awsxlnuwnog4AmwHU2C0HXwSltiugndsib+4MIYTwQl99PRoKz0f/F18AgN+SU/eAGZ/tace5E6/eWwZgsW2JdrXzmSf7i5m50CE52VbgtS0VHxCSoIQQwo2ejz5C4/dvRVRiImKm+Lfb94e7WmG28IQTlNrZzFba0QMweLhfR0T2PbCW2O0zAAjYeBVJUEII4UJXTQ0O3HY74mbPxuxXXkbstGl+vd6GHS1ISYhB/myPSmgxRLTZ7mtUr2g12bTbSkAe7E/H0WFAgNKZzV7AlvWVBBWmbJPNaq2yUvrAiNDVV1eHph//BAnz52P2iy8gJtO/Y5KsVsYHO1vw7eOyPJ29fMg2JEf9cvYHV8TMpS7OMWK/WrIyAjDatT1pMg2NJKgwZDQaUVZWNjxOqrCwEGlpacjNzR3+ckwcRIT6+nq3505LSxu1jIcrDQ0NqK6uHlf8QgSLxIULMeWHd2DWn55DdKr/12P6oqkTrT0mX7Q/AVDaj+zakkZVzTnuV6efc3zeJhwtRekB1CBAJEEFsdraWqxevRq1tbWora1FWVmZR0lk+fLlo9Z9WrlyJRoaGtDQ0IC6ujpUVVWNWF+qqqrK7cBfb5SXl2P58uU+P68Q/tTx17Uwt7SAYmKQefvtiEoOzGSt733djCgC/t+xE2/nUjszlBNRHRHVQS0FEVGNi/3r1H22jhHVaicKvfp83VhVhX7BzEH9lZSUxBOxffv2CR2vlYqKCi4oKBi1Xa/Xc01NzZjHdXR0sF6vH7GtoKCAy8vLR2xraGhgnU437rh0Oh13dHQ43VdSUsIVFRUeb7cXqr8nEV6sVis3P/oobz/ueG5+7PGAX/+C3/6bi5/+2OPnA+jlIPic9teXlKCCVGlp6YiFCG3KyspQWjp2dXJlZaVHA3THU003UcXFxaiqqgrY9YTwBlssOPzLX6JtzbPQXX0Vptx1Z0Cvv7e1FzsOd+OCE6cG9LrBTBJUELJV4zmrcrMtQjiWTZs2IT8/3+X5DQYDli9fjpUrVw5vS0tLGz5vbW0tcnNzkZaWhtLSUuTn54+oDly3bt3w/tpapbRfXFw8vKS8/XYAWLx48YjHQgQbq8mEprt/CmNVNTJuvw1Tf/lLUHR0QGN4Z9thAMAFCyJ79gh7ETsL4b7rbxi1bfKF30H6NdfA2t+P/SWjSympl18O3RWXY6ijA0133jVqf9rVVyHlootgPnQIB1eMbAOa/fJLHsdmm+LIYDCMmu7IfgFDZ+wXKLRXVlaGVatWDU9AW15ePjxjuqPi4mLU1dUBAPLz89HR0TFif11dHRoaGrB69WqUlZUNt2nZkpnjeW0T1rqa/FYILXF/P0wGA7LuLUPGTTdpEsO/th3GSTmpmJHm/ewR4UZKUEGqoKAAmzdvHrW9pqbG5Tx8RqPR6cKE5eXl6OjoGE42y5Ytc3m8Xq+HXq9Henr6qBJbcXExAGV5eU+7sut0uuFFGIUIFpbOTlhNJkSnpmJOdZVmyelw5wC2NBrxHaneG8HrEhQRLWLmrT6MJaBclWiiEhNd7o9JS3O5P3batHGVmJypqKhAaWnpqNJIbW3tcOnGGXdLbOh0OixbtgyrVq1y2sZlO7a+vn74Z8cSmTe9/dLT0wPa7iWEO+bmFuy/9fuIP/4E5PxmNaLi4zWL5d3ttuo9SVD2JlLFVwhgKwAQ0SNQpr/ogNJHvpaZ9040uEhlq8bLy8sbUS1WX1+PsrIylwnIk0RQXl6OtLQ0rFy50um59Hr9cNfwioqKUfu9YTAYpHpPBA3Tvn1ovOX7sHR0IPv++7UOB//66jCOyZqEeVmTtA4lqHhdxcfMv7F7WMPM50NZfLADwL1E9A4RLZpgfBHJYDDAaDRi5cqVIzoXbN68GSUlJaitrR0zCen1erdVaTqdDiUlJaPGStm0t7djw4YN2LBhw7iW7NDpdMNL1Dur+vPHOCshxmtg507svfY6WHt7MevFF5B8+umaxtPWM4hP97RL6ckJX7VBGdQqv05mXs/MtzHzBQAW++j8ESUvLw9z585Ffn7+iA/6uro65ObmorS0dMzSSF5enkeDecvLy1FZWek0kRgMBqSlpSEtLQ1ENNzm5E5hYSFWr149Ku6xOm4IEWhsNuPAHT8ERUdj9p9fQeJJJ2kdEt7+6jAsVsZ3F/p3jr+Q5K8BVgBOAbBuoueJ1IG63qqpqXE6wNdT5eXlXFJSMvy4oaGB8/LyXA4OdqeiomLEOZ2JtN+T0E7f55+z6cABrcMYVvzMx1zw2AdstVrHfSxkoO5oRLROrcK7lYjOHSPxbWFm513FhN8UFBQMVxF6y76K0FmPwPGydUEXQiudb72F1jVrAACJJ5+M2JwcjSNSHOrsx6a97fjewukgIq3DCTreVvGtBbCMmZ8FUEdES4loju/CEhNhG/PkjRUrVkCv1w9PKpufn4/S0lKvl4+3VTeOtXy9EP7W8eqrOPize9D7n41gs1nrcEZ464tDYAa+e7JU7zlDSinRzZOIzgPQxi66lRPRUiidJbp8Fx6QnJzMvb29Xh//9ddf44QTTvBhRKGhuLgYK1eu1DwxFBYWoqqqym0Pvkj9PQn/YWa0VVTgyBNPYtL//A9yfvs4ohIStA5rhEuf+ggWqxX/+NHZXh1PRH3MHJiZbDXgUTdzZt5ARHPVJGTLaAb7hMXM64noCgCv+T5MMV7BMvddTU3AZuYXYoSWRx9F+3N/Quqll2Da//4vKDZW65BGaGzrw+f7jVh54fFahxK0PB4Hxcx7AOyxPbZLWICStNx3HRNCiACJmzMHaddfj+yV94Kigm/SnDe/OAgAuFiq98bk9UBdZwkLQKFdQ1/tWNV9RNQBYDOUKsHVzp7jS8wsDZBBzJNqZiE8Ye3vx8COHUg65RSkeTg8Qitvfn4QebN0MveeC9724ltKRGvVXnwpwHDC6mTm15j5NQC5Lk5RzMyFgUhOsbGx6O/v9/dlxAT09/cjNsiqX0TosRiNaPz+rWj8/q0YCvJ5H7cd7MSOw9247JTg6E0YrLwt99pWXjwfwF4i2kREbQA+sz2Bmbe4OF5HRAEZuZmVlYWmpib09fXJf+pBhpnR19eHpqYmZGX5ZolrEZnMhw9j73XXYeDLLzH9179GjA+GR/hTdd0BxEVH4XsnT/fbNYhIpy7jXkREoybe9GB/ud3PHURUQ0Qr/BawE95W8bUDaLCNcyKiU6B0muj08Ph0AO1EVMHMowbIEFEJlGmTEBcX52WIipSUFADAwYMHYQ6yLqZCKeFmZ2cP/56EGK/BhgY03roc1u5uzFyzBsmnn6Z1SC6Zhqx4Y+tBFMzPQlryxD7f3FgGAMxcSURLiKiEmSs92a8u725fiCjmQC71rvIqQak99k4hojnMvNdNacnZ8babYCSiIlbWvHfcXwko3cy9idFeSkqKfAAKEaaMr70GHjJj9ssvISEEhip8sLMF7b0mFOXP8Ot1HJKRHspE3m73q7VbjnOg6YhIz8yera/jIxOZLHYLezFjORGVEJGM2hRCTIh1cBAAkHX33ZhbvT4kkhOgVO9lTorHOcdM8cXpYohos93XqFVI1YTTPlYJyMl+Z4louNbLF0F7ym2CIqJHiGiVD2eKWKeetwgAHEtPQgjhjvG112H47vdgbm4GRUcjNjs02jDbegbx3o4WXJGXg5hon3R9H2LmxXZflU6eU+SsKcXZfiIqcJbImLmSmY0AjLbP7kBwW8XHzPcSUSqAEiJaDGATgEpvZ4xQX2S9+iXJSQjhMWZG27PP4shjjyP5zDMRlRxa6ye9sfUghqyMpXn+rd6zUZtQVqs/5zFzvav9UEpJBQB0APTqtsUANjse6+H1J7SwrUcpnJVlNH7DzFcCWA/gPsdu5kII4U9staJ51SoceexxpFx8MWY+8zSiJ4XWLD/r6w/gpJxUHDd1st+vpSaaciKqI6I6KNV0IKKasfYzc71agkqHkqSAidV6FdrF8wgRvWuXO+a4fQ0T6Xqt9t4rhTKTRI06/smnJjoXnxAiPLRWVOLIb3+L9BtvQFZZWVDODuHK9oNduOh3G/GrSxbgxjPn+OScoTQXHxGdp06blwqgAErymgugbKxS1kSWfLeNdbrNdnEiegZKsqpi5vcmcm4hhLCXdvVViMlIR+rSpSE5M8xfPtuHuJgoXLLQf2OfgpzBrspvvfoFIroVwFZnB/jsXxBm3sDKSrq3A8hV14zybs0HIYQAMNTaikO/+hWsAwOITkmBrqgoJJNTz+AQXq9vwvdOnu7vsU9Bi5n3OJaU1Fq488c6ZkIlKBeBrAGwxh/nFkJEBtP+/cq0RS0t0F12GRIXLtQ6JK+9vqUJvSYLrj9jttahBIS6kG27fUJS52s9BUC9bYiSWgs35sK2oVWJK4SICAPbt2Pv1dfA2tmJ2S88H9LJiZnxyn/34aScVCyckap1OH5FROcSkRXKoN96IrIQ0U+B4fla3wPQ4On5vE5QRLTI22OFEGIsfZs2Yd/1N4BiYzH7L39G4qJFWoc0IZv2dmBnczeuO31WSFZPekotIVVC6Tg3D0A+gCsBnEZEu4jof9RhRh7fhIlU8RVCbdgiokcA5AHogJI5a72ZZUIIIaIzMpCwYAGmry5H7NSpWoczYS9/sg+TE2JwycKwn7m8BEC+w5ysW6COd1VXwVgOwOM5/SbUzXz4JF50H/SUdDMXIjL0fvIpkk47NaxKGS3dAzjrkfdw/elz8Mvvzff5+YOpmzkRLWXm9b48p6/aoGzdBzuZeb3am+8CKCOQhRBiTMyMlieeQONNN6Hrrbe1Dsen1m3aD7OFce3ps7QOJRB8vp6RTxKUN90HhRCCh4Zw6Be/QNszFdAVFyHlOxdoHZLPWKyMv3zaiG/Ny0TulNCakslLPl+EayKdJB5RG77eIaIrHPers52P2X1QCBHZrP39OHDnXeisXo+M22/D1IceAsX4ZeSLJmq/bsbBzgFcFxmlJwCYR0ROu1uqvftWEdFyIrJ4ekKv3g1EdA+UzhAVUNYRKSWiJcy80pvzCSEiz8C2bejduBHZv/g50q+9VutwfG7NfwzI0SWi4IRsrUMJlFUA9hDRu1A6QugA5EIZ51QLYDkzd41nyQ6PEhQRLYVSv2hUpzBqYOYN6u49ADaomfFcmeJICOGKta8PUUlJSFq8GLnvvoPYadO0DsnnNu9tx+Z9HXjwe/N9taxG0GPmTnXFiyocHXxbA6DAtqitmkuMnp7T09nM16sTwdapFygkoivsx0Kps0foxzqHEEL0f/kldl9wAbo3KP/fhmNyAoBn/t2AtKRYLFsyU+tQAoqZDcycz8xR6tcFdskpFcoQJI/bqsZVxaf2b19PROnM/BoRpdqVrghHp2cXQogRut9/H013/xQxGRmImxu+/8vuau5G7dctuOu8Y5AUFz5tahPlMD7KI17fPSKaow7GXW+3banaYYKUeHy//IYQIvR0/HUtDj/0EBJOOAEzK55BTGam1iH5TcV/DEiIjfLZkhqRzKsExcxr1NnKn2bm9+126Zn5Nz6KTQgRBvrq6nD4wQeR/P/OwYzHH0dUclCMK/WLQ539eGNrE645dRbSI3TWcl+aSPlzOYA1RFQNwKBuK554SEKIcJKYl4fpjz2KlAsuCKtu5M786cM9sDJw69naV2ESkQ5KvwA9gCXMXDbO/eW2bepqukYohZBKvwev8rp7iTprxDIoL66EmZfI/HtCCACw9PTgwJ13YWDnNyAipF58cdgnp84+M/7yaSMuPmkaZqYnaR0OoPSkW2xbop2ISjzdry4Hr1d/ti31Xmu3LyAm3P9RTVRbfBGMECL0mZtbsO+669H93nsY3L1L63AC5pVP96HXZEHp/9O+9AQAzFxpV9rR42hNl8v9ROT43CV2jw1QJgb3CBHNUVfMtT1eREQpnh6vaQd9IirX8vpCCN8a3LULe6+6CubGRsx8+mmkXnyx1iEFxIDZguc/2otzjp2CBdMDuuZTDBFttvtyLCXZEk67rQTkwX49M9snKJ3DIRmeBKYmpmoA9lWHuRjHYraalbnti5BCiNA38M032Hfd9aD4OMx+5WUkzPf97N3B6i+fNqK1ZxC3Bb70NMTM7iblLmLmUk/2E1GBk0RmhHfz7JVBmTC8zraBmdcTkcdtWJokKCdFSCFEiIufMwcpF16IzJLliM0J+7WPhvUMDuGp93fjzNwMnKH3qHARMERUxMyr1Z/zmLne1X4A7WrhQQdAr27bhKOlKD2U2SE8ka7OLjEqLE/j16qKz7EIOQIRldiKrENDQ4GMSwgxDsyM9pdfwVBHByguDtN+9WBEJSdA6bnX1mvCPRccF1RrWamJppyI6oioDmopiIhqxtrPzPVqCSodalJSO1HobYlrrKpCJzao42KHl+EgorUI9IKF42FfhCSiKmZ22TVdFiwUIjixyYRDDzyIztdfx5S770ZmyXKtQwq49l4Tzln9Ps7MzUDlDYFf/i6YFix0pE5ttAFKp4oaKNV9BgDnMXOXJ+eYyHIb3vbOaCeiArXroq0IKYQIIZauLjSWlKLz9deR+cMfImP5re4PCkNPf7AbvaYh/OyC47QOJRix2j5WCKWzxDJ1OJJHyQnwfrmNWwHcBiAVwLPq5lwAKwFc6SbievUcJZC5+4QIOeamJjSWlMLU2Ihpj6yC7rLLtA5JE4c6+/Hif/fhilNm4NjsyVqHE4z2qFPibYBSkho3b0tQZQDOg11jl7oWvccDuNQ++LmOjXZCiOBG8fGIio/HrGefjdjkBAC/27ALzIwfFxyjdSjBqhrA6omcwNtefBPunSGECC19mzYhcdEixGRmYs766qDqEBBohiM9WLf5AK4/fXawzBoRjN6FMh2ereef0baDmZ8d6yB73pagJtw7QwgRGpgZ7S++iH033Ii2518AgIhOTgDwWM03iI+Jwh3/M0/rUILZSiidIjIAXAWlWeg2AK7GZI3gbQlqOZQ6xVwiegd2vTO8PJ8QIgixxYLmX69Cx5//jMmFhUi//jqtQ9LcV02deOuLQ/jRufMwZXK81uEELQ8GELvl7XIbnQAWE9F5UAZurbZbAl4IEQasvb1o+unP0PPBB0i/+WZk3fMzUFRkLF/uym/e2QldUiyWnyMT4XjCfuV1G2be6smx3vbi+xkzP+qsd4YajFFmNhcitJmamtBXV4epD/wSaVdfrXU4QaF2ezP+/c0R3H/RCUhJiNU6nKCmFmCqoPTWtq26DvXnaE/O4e2/Q07rEInoEQD1AOqI6Fwvzy2E0JC5pQUAkHDssZhX864kJ1W/yYIH/r4Nx2RNwk1nzdE6nFDwDIAVzBwFYIv6fRnG0bPP2wS1hYjeIaI2IlprN0B3OYB8KAOzysY+XAgRjHr+/W8YLrwIHVVVAIBonU7bgILI79/bhSZjP/73shMRGy1VnR7IcOytp06bVOTpCby9yzoAW6CMe9oLwDY7bRozb1HHNgV+3g8hhFdsPfX23/4DxM6ehUlnn611SEFld0s31mw0YGneDJwWZBPCBrF2IrKNYK4losuJaA6USR084m0vvvOY+Xz15y1EtEudd8leZPdDFSJEsNmMww//L4zr1mFyYQGml5cjKknG9tgwM37xt21IjI3GyouO1zqcUFIOpTbtNQCrAOyBMvtQlacn8DZBbSGin0JZeKoEShfzNABQM2YmZDkNIUJCX109jFVVyCgpwZQf3yU99Ry8sfUg/mtow/9ediIyJ0m38rEQ0RXM/JrtMTOvsfu5k4jmQpnkYY/H5/RmNnP1QlUATsHRXnx6KCOFbSes8HS0sCsym7kQ/mHt70dUYiIAZbHBhGOP1Tii4NPZb8Z5j/0bOWmJeO32MxEdFVwVQ8E0mzkRtTFzht3jWyeaA7z6V4mZ9zDzYmaOZubz1a956sCsSgCVvkhOQgj/6P30M+wuPB+9n34GAJKcxvD4uzvR3juI/7vsxKBLTkGow67NCVCq+CbE5yvq2hfrhBDBp6OqCod/9RDiZs9G7PRpWocTtL480ImXP9mHG86YgxNzHJvYhRP3AthHRJvUx2l2P4/AzEs8OaG3A3XnQMmOOjisVe/phYUQgcUWC1oefQztzz+P5LPOQs4Tv0X0ZFkmwhmLlfHzv32J9OR43H2+lC49wczVRFSPoytdFOJoD2+veFuCqla/r53IxYUQgdP19j/R/vzzSLv2WmSvvBcU4/MKlLDxl88a8fmBTjx51aKQnTGCiHRQ+gboASxh5jJP9qtLuwNAod22DgCbAdQw85gDbZnZALWDHBHpJ1qj5u07VM/M6e6fJoTQGlutoKgopHz3YkTrUmWMkxuGIz349Vtf41vzMnHJwulahzMRywBl7T0iWkJEJcxc6Wo/lCSUx8yriahMTTIGAMXMPK7VKpj53om+AG8T1GYimszM3RMNQAjhP/1bt+LQL36JGX98CnEzZ0pycsM0ZMVdf92K+NgoPFq8MKSXFXFIRrY1mVzuVydZqFdLVwY1OQGAzi5ZOaWutO5pbB51ovM2QdUA2EtE6wA0OFz4US/PKYTwoc5/vIVD992HmOxssNmsdTgh4bGanfiyqRMV1+djamqC1uF4IoaINts9rnRIPFAXDGwfqwQ0xv7FGPnZng5lZogKZh5rPafbPIyZAXiUoLwdB7V5jF3s604SMg5KiPFhqxWtf/gDWv/4NBIX52PG73+PmLQ0rcMKeh/tbsV1z32Kq0+dhV9ffpLW4XjEk3FQRLTCVbvRWPuJqAJKqarabls5gE322/zJ2/WgZJ49IYJU+4svofWPTyP1iisw9cEHEBUXp3VIQa+914S7122FPjMZv7h4vtbh+AwRFdmSDxHlqVV4Y+4HcCWABrUUZgSQbmubcjzWw+vPAVBgq9JTl2MyMHOXR8d7U4Kyu/gix22eLkTlKSlBCeEZZgYRwdrXh65330XqpZeGdBtKoDAzSl6uw793HsFrPzgzpMY8uSpBqb3xKqAkGgAoY+ZaIqph5kJn+6H0wLOtxFjMzKXuegO6iO1WKNV+qcx8jLptKYBlzHylR+fwsopvzIWomNntQlTOujGORRKUEO71fvwxWp9+BjOfeRpRyUEx803I+POn+3D/61/h5xefgFvPDq1VcoNpqiNHRLQLSltWHTPPs9s+YkokV7ydFdLrhajUYmSe2iCXpzbQCSG8YFsmo/HW5bAYO2Dp8qjmRKh2t3Tj4X9sx9nHZOKWs+ZqHU64SWfmTifbPS7We5ugvF6Iipnr1T72OozsxiiEGAfr4CAO3Xc/mlc9gknn/g9mv/pXxE6TqYs8NThkwY9e3YrkuBg8tmwhomSuPV/bQERX4OgE4iCitQA8Hk/lbTfzdrtxULVEdDmUBQw9XogKo7sxDlMb5UoAIE4aeIVw6vDDD6Pz9deReccdyLzjB7JMxjit/tdOfH2oC8/duBhZk0OiS3moWQ5ltYtcInoHyme+AcpUSB7xtg1qOYA2Zn5NXajQthBVtaeNX+p5RnVjdCRtUEI4Z25qwsDXX2NyQYH7J4sR3tvRjFte2Iwbz5iNX116otbheC2Y2qCI6Fxmfs/J9vOgdLAwMPOG0Ue6OOdEevHZBZAKDxeiUvvRN6jTawz/PNbzJUEJcZTxb39D7382Yvqjv5ESk5d2HO5C0dP/xaz0JLz2gzOREOu2X1fQCrIE1Q6loFILpRNdLTPvncg5ffIOZ+bOcaySWAHAoPbk07lKTkIIBQ8NoXnVIzh070oMtbWB+/u1DikktXQP4PsvbEZyfDSeu2lxSCenYKPOz3oMlAS1DMrn/C4iWkVE53pzTm+r+OYgQMttSAlKRDqL0Yimu3+K3o8/Rtr11yN7xT2g2NCcYVtL/SYLrlrzCb453I2q284IqfFOYwmmEpQzakGkAEoHurlQktc6Zn7Oo+MnONXRqOU2mPk34z6hC5KgRCRjZuy75lr0f/UVpj34AHRLl2odUkiyWhk/fLUe//zqMCquy8f5C6ZqHZJPBHuCslGbgZZBGQw815PxsoAstyFEUCMiZP3spwBFISnvFK3DCVm/eXcn3v7yMH5+8Qlhk5yCnVqtVwil9KSH0oOvGg6zqrvibYKqleU2hPAPtlrR+tQfASJM+eEdSMrP1zqkkLZu0348/UEDrjltFr7/LRmM6y9q008RgPOhVOsZoVTp3Qulw4SzQbsueZSgnKzzYYAstyGEz1mMRjStWIHe/2xE6uWXD8+vJ7zzcUMr7nv9S5x9TCZ+dckCuZf+ZYCSD8oBlI6j49yYPGqDcrG8hiNZbkMIL/Vv24amO++CuaUFU++/H7orl8kH6gQ0HOnB5U99hOyUBFTffiZSE8OvY0kwtUER0QooJafFADZBqcqrYebPvT6nL8ZB+ZMkKBEJLJ2d2H1eAaImTcKMJ59A4sKFWocU0tp7Tbj8jx+hZ2AIf7vjLMxMT9I6JL8IpgRlTx2ca2t/SoNS1bcWSlWfxxNGTqSbOewHYakNYoaJDsxyJAlKhDO2WEDRSoem7vfeQ+KiRYhJl/5HEzE4ZMF1z36Kzw904tXlpyN/dvgu1hisCcqe2oNvMY52N2dmPtaTY70dqFuBo2uG2KRBqXsUQnjA3NSEvVdeha5/vQMAmHzuuZKcJmhwyII7/lyPTXs78FjxwrBOTqGAiFIAFEOZW7UYynytHpegvE1Qix3nXGLm9VAypBDCjZ4PP8KeK5bCtHcvKC782ka0MGC2oOSlOtR+3YKHLzsR31s4XeuQIhIRnavOHrELQAeUZZgIyhiotPGsyO5tN3Mao5u5tOgK4QJbrWirrMSRJ3+H+HnzMOP3v0PcnDlahxXy+k0WLH9pMz5qaEX50pNw5ZJZWoekOXcr4Y6139mCskRUBKXbuH6s6emI6F0oM5UTgHoA6wGsZeYt3r4Gb0tQVXCoziOipwGs8zYQISJB78f/xZEnnkTKxRdjztq/SnLygd7BIdz8wmf4uKEVjxYtlOR01DIotV3VwPAyRi73O1tQVk1OULfZJzBHRvWcacy8mJnvnUhyArwsQanr1NcRURuOrmE/rnU+hIgk1t5eRCUnY9K3zsKsF55H0mmnSRdyH+geMOPm5zehvrEDv71yES5dlKN1SEHDoaSjh8MMDs72M3M9gHr7BWWJqBRHp7UzAMiDk0UHmXmZD8MHMIHZzJk5H8CVACoBLGPmJePpPihEpOh84w3sPq8AAzt2AACSTz9dkpMPdA2YccOfPsOW/Ub8/uq8SE1OMUS02e7LsZQEItIDaLeVgDzcb7+grM7hkAwfxO0Rr0pQRPQzZn7U8QUT0TvMfIFvQhMitLHJhOZHHkHHX15F0pIliMnM1DqksNHZZ8b1f/oUXx/qwlPX5OE7J0bs/HpDHnQ6KGLm0vHsZ+ZaIiq2a3vSpHuptyWo24jor7YHRJSizjZh8E1YQoQ28+HD2Hf9Dej4y6tIv+UWzHr+T5KgfKS914Sr13yCHYe68cx1+ZGcnNwioiJmXq3+nOduPxGV25XCjFAS0yYcLUWNqir0J68SFDPPAxBNRJvUAbr1ACqY+XafRidEiOpYuxaDu3Yh54knlPWbYrztMCvstfYM4po1n6DhSA/W3LgY552QrXVIQUvtzFCu9heog1oKIqIaF/tHLSirdqLQ221zWlXol9cwkamO1FLTKVAmBnzWZ1HZkZkkRKhgkwnmQ4cQN3u28vPhw4ibJT3KfKWlewDXrvkU+zv68NyNS3DWPCmRhsJMEhPh9b91RLQWAENpTKsiolRmfsxnkQkRQkyNjWi6+6cYamtD7j/fRlRCgiQnH/qqqROlL9eho8+EF24+FafrA9ZOLzTkVRWfbXZztefeFihJ6gIieseXwQkRCrr++U9lVojGRmSvvBdRCQlahxRW3tjahKJnPoaVGWtLzpDkFEG8LUGttV/anZmNAM4nomd8EpUQIcBqMqH5/34N49q1SFy4ENMfewxxMyKyq7NfWKyM1e/sQMW/DVgyJw1/vDYfUybHax2WCCCPFyy0b2OyT04OZGZGETEoJgbmAweQcev3MeWuu0CxMqeer3T2mfGjv27Bf745gutOn4VffncB4mK8HrYpQpSnCxZamDnaYVsbM2e4e56Tc+ngYn4oR9JJQgQTZkbnG28g+YwzEJudDR4akh56PvZNczdKXtqMJmM/Hrr0RFx9qrTljSXcO0l4+i+Js2Hvnm5z5G5+KCGCkqWnFwdXlOHQvSvR/tJLACDJycfe2XYYlz/1EXoGLXh1+emSnCKcp39dzopZnm4b+QQ380MJEYwGtm9H00/uhmn/fmTe+SNklroamC/Gy2pl/O69XXiidhcWzkhFxfWLMTVVOptEOs3+/XM1P5RaqioBgLi4uECHJsQIPRs34sAP7kB0ejpmv/gCkpYs0TqksNIzOIS7127Fu9ubsTRvBv7v8hOREOuypUBEiIC3Qdk9d4Vtig1XpA1KaM3S3Y2W3zyKKT/5MWLSpB+QL+1t7cXylzbD0NqL+y86ATefNUcm0h2HcG+D8jRBWXF0ZlubXCfb9J4kKHX+J1sbVJ46xbtTkqCEFvq2bEHbs88h57ePI0pK8T7HzHh9SxMe/Ps2REcRnromD2fKzBDjFu4JytMqPmcrKG7wcNsIdvM/rVQ3uezFJ0QgsdmM1qefQWtFBWKnTcOQTFfkc81dA7jvtS+xYUcL8men4YkrF2FmepLWYYkgNKG5+AJBSlAiUAYbGnBwRRkGtm1D6qWXIvvn9yN68mStwwobzIz19U146M1tMFmsuOeC43HTmXMQHSVVet6SEpQQEYCZcej+n8Pc1IScJ59EygXnax1SWDncOYCVr32B93cewZI5aVhdtBBzM8P2c1X4iJSgREQzHzyIqEmTEJ2SAtPevYhKTkbMlClahxU2mBnVdQfw0D+2w2yxYoVaaoqSUpNPSAlKiDDEzOj82xto/r//Q8qFF2Laww8hbs4crcMKK4c6+7HytS/xwc4jOHVOOlYXnYw5UmoS4yAJSkScobY2HHrgAfTUbkDi4nxklMpkJr7EzKjafAAP/2M7hqyMB783HzecIaUmMX6SoERE6aurw4E774K1qwtZK1Yg/cYbQNEyKNRXDhr7ce9rX+I/3xzBaXOVUtPsDCk1acHdvKfO9o91DBF1ANgMoMaT8au+IglKRJTYnBzEz5uH7PvvQ8Kxx2odTtgYslixdvN+PPL2DliY8dClC3DdabOl1KStZYAyvRwRLSGiEoep5kbtt+1wckxxIJd6t5EEJcJe72efofONNzDt4YcRO3UqZr/4gtYhhQ1mxoavW1D+rx3Y1dKDM/QZKF96MmZlyLgmrbmb99TZfockZH+Mjoj0zGzwS7BjkAQlwpZ1cBBHnngS7S+8gNhZMzF0pBWx2VlahxU2tu434tdvf43P9rRDn5mMZ67LxwULsmWqosCKsa1wrqp0SDwu5z0da7+TbekA2omogpkDNlOyJCgRlvq3bcPBsjKYdjdAd/VVyL7nHkQlyX/1vrCvrRer39mJt744hMxJcXj4shNx1ZKZiI2WBQU1MMTMi908p8hNUnG2f8Q2W9IjIqP9VHX+JglKhB22WNB0993g/gHMXLMGk87+ltYhhYW2nkH8/r3deOWTfYiNjsJd5x2D5efoMSlePkaClZpMVqs/j5r31Nl+x20AFgPY7GrOVL/FLwN1Rbjo27QJCSefjKj4ePR/tQ1xM3IQrdNpHVbI6zdZ8KeP9uDpDxrQb7bgyiUz8ePzjkFWiqzXpDVXA3XVeU8rABjVTWXMXEtENcxc6Gy/+t1x22aMYxV0X5IEJULeUEcHWh4pR+cbbyBrxQpk3HKz1iGFBYuVsb7uAB6r2YnmrkGcPz8bK75zPOZlTdI6NKGSmSSECFLMjM7X/4aW1ath6elBRmkp0q65WuuwQh4z4/2dLXjknzvwTXMPTpmlwx+uycOSOelahyYijCQoEbKaV61Cx0svI/GUUzDtoV8h/phjtA4ppFmsjJrtzViz0YC6fR2Yk5GEp6/Nw3dOnCo984QmpIpPhBSryQQ2mRA9aRIGduxA/9bPoVtWDIqSHmTe6jMNobruAP704R7sbevDjLRElJ6jx1WnzpKeeUEu3Kv4JEGJkNG3eTMO/fIBJJ50EqaXP6J1OCGvpWsAL/53L/78aSOMfWYsmqnD8rP1uGBBNmIkMYWEcE9QIVHFxxbLyA1RUSAisNUKOEuwbvbL3GuhxWI0ovnRR9FZvR6xOTlIufgirUMKaTsOd+HZjXvw960HYbZacf78bCw/W4/82WlSlSeCStAnqLkWK3YsOHHEtlkvvYjkU09F11tv4+A994w6Zs76aiQuWADjuiocfvDBUftznvgtUr7zHX+FLHyob9MmHPjxT2AxGpH+/Vsw5Y47ZMCtF5gZG3e1Ys1GAzbuakVibDSuOnUmbjlrriyBIYJW0CeojihC5p0/GrEtLicHABB/3LGj9gEYXnAu4cQTR+2Pzc6W5BQCmBlEhNhZs5Fw3LHIuuceJJxwgtZhhZzBIQv+vvUgnvtwD3Yc7saUyfG454LjcO1ps6BLitM6PCFcitg2qP6vtsHa3YXkM87w+bmF9yw9vWj/03Po/+orzKyokConL7X3mvDqZ4144eO9ONI9iOOyJ+PWs+fikkXTER8jVdzhQtqgwhAz4/DDD8G0dx/mVlchbuZMrUOKeDw0BGP1ehz5wx9gaW1FykUXgvv6QMlh+7fnc6YhK97f2YL1dQfw/s4WmC2Ms4/JxGPFC3H2MZmS7EXI0aQERURFAEqZudDdc/1VgjLt3489RcWInToVc179i7RraGhwzx4c+OGPYGpoQGJ+PrJX3IPEhQu1DiskMDO+aurC+voD+PvnB9Hea0LmpHhctmg6ihfPxHFTJ2sdovCjcC9BaVbFZ5sPyt3z/NnNvGfjRuwvKUXKhRdi+mOPyn+YAWbt7UVUcjKs/f3Yf/sPkH7dtZh03nnye/BAS9cAXt/ShPX1B/BNcw/ioqNQOD8bS/NzcM4xU6SbeISQBOWvCwdBggKA1so1OPL445j2yCroLrvMb9cRR5mbmtDyxJPo/+Jz6N98E1Fx0ljviQGzBe9ub8b6ugPYuOsIrAycMkuHpXkz8L2TpyM1KVbrEEWAhXuCCso2KHXp4RIAiPPzh1fG8lsRO20aUi6Unn3+ZunqQltlJdpfehkgQvqNNwKOY9zECMyM+sYOVNc14R9fHET3wBCmpSbg9m/n4oq8GcidIhO3ivAV8SUoe+bmFgx8+QUmFxQE5HqRxLR3L/ZedTUsnZ1IveQSTPnxXYidNk3rsILW7pYe/PPLQ3htSxP2tPYiMTYaF544FVfkzcAZuRmIjpJqUCElqIhy5Mkn0fnGG5jx1B8w+dvf1jqckMfMMO/bh7g5cxA7axZSLr4YuqVXIGH+fK1DCzoWK2Pr/g68u60ZNdubYWhV/ik7XZ+OH3w7FxeeNE0WBhQRR6tefAUAqgAsd7d0cCBLUJaeXjTedBMGd+/GrD89h6S8vIBcN9wwM/o+/QxHnngCg7t3I7fmXcSkpWkdVtAZMFvw4a5W1GxvxoYdzWjtMSEminBGbgYK52ej4IRsTNclah2mCGLhXoKK2IG6Yxlqb8e+a67FUHs7Zj79RyTl5wfs2qGOLRZ019Si7bnnMPDll4iekokpd94J3eWXg2Lkv39AGUC74WullLRxVyv6zRZMjo/B/ztuCgrnZ+Pbx2UhNVE6OwjPSILSmBazmZubmtB4y/cRnZ6O2X/5s3R79tDAzp3Yc+lliJ09Cxk334LUyy5FVIIsC76vrRc125vx7rZmbN7XDisDU1MSUDg/G4Xzs3G6PgNxMdItXIyfmyXfdXCxVLuz/WMdo45dNQLQM3OlX16ME5KgxmAxGmE1mRCblQXr4CAoLk4SlQOL0YiOV1+FxdiJ7JX3AgB6P/sMSfn5ET1jvNlixef7jXh/Zwtqtjfjm+YeAMDxUycPJ6WTclLl/SQmzE2CKgEAZq4konIADfbJxdl+2z6Hbe3qtmr1GAMz1/rtRdmRepcxROt0iIZSbXXgzjsRo0vD1IcfkjE7AEwHmtD+4oswVleD+/sxqeA8sNUKiopC8qmnah1ewFmtjO2HuvBxQys+2t2GTXvb0WeyIDqKsGROGn7x3fkoPCEbszJkthLhczFEtNnucaUtCTmUdPQAauwPdLbfIfHYjikEsFbdZgCQB0ASVFCIikLiwoVo/d3vYW5qQs7vfxfRDf6db7yBg/fdDxAh9bvfRfotNyPh2GO1DiugmBkNR3rxXzUhfbKnDcY+MwAgd0oylubNwFnzMnC6PkNmDBf+NsTMi109gYj0ANrHKvU422+/jYiKHQ7JmGjQnpIE5QYRYcoPfoC4WbNxaOVK7LvqakwvfwSJixZpHVpAMDP6PvkEUZNTkHjiAiQtWYL0G25A+o03IHbqVK3DC5gmYz8+2t2K/za04eOGVjR3DQIAcnSJKDwhG2fOy8CZuZnITpE2NxF0ipi5dJz77bcZAaT7JTI3pA1qHPrq69H0k7tB0dHIfedfoNjw7W1lbmpC59tvo+vNf2Dwm2+QctFFyHn8Ma3DCpjWnkE1GSkJaV9bHwAgIzkOZ+QqyeiseRmYlZ4kbUlCM+568RFRkW0oDxHlMXO9u/2O26BU9WnSBiUJapwsPb0wH9iPhOOPh3VwEF1vvY3USy8Jq04BB8vK0PnG3wEAiYsWIXXpFUi95BJExcdrHJl/mC1W7DjUjfrGDmxp7MCW/cbhhDQ5Pgan6dNxZm4mzpyXgWOzJiNKZnEQQcJNJ4kCABVQSkAAUKZW2dUwc6Gz/ep3Z8esAFAPII+ZV/v+lTgnCWoCjK+9jkP33YeEBQsw9YFfIvHkk7UOadwsPT3orqlF94Za5Dz+OKLi4tCxbh0sHUakXHwR4mbM0DpEn2vpGlCTkRFbGo34osmIAbMVADBlcjzyZulwyqw0nDY3HSflpMrM4CJoyTgojQVzgmJmdL39NloeKcdQayt0RUuRfvMtiNfP1To0l6yDg+j54N/oeust9HzwAdhkQmxODmZWViA+N1fr8HxqcMiCbQe71GSkJKUmYz8AIDaasGB6KvJmpeGUWTrkzU7D9NQEqbITIUMSlMaCOUHZWHp60PrUH9H+0ktIPvNMzFqj9N60dHYiOjVV4+gUQx0dYJMZsdlZ6N+6FXuvuhrRmZlIufBCpF58ERIWLgz5D+YhixWG1l5sP9iFL5s6Ud/YgW1NXTBZlNJRji4Ri2bpcMpMJRnNn5aChNjwqZoVkUcSlMZCIUHZmJtbYO3uQvy8eTAfPozdhecj+dRTkXrJ9zC5oABRAVq+nJkx8MUX6P/8C/R/+SX6v/gc5n2N0F19FaY98IDSM++zTUjKzwvZKYh6B4ew43A3th/sxPZDXdh+sAs7DndjcEhJRvExUTh5xtHS0Smz0qSHnQg7kqA0FkoJyt5QayvaX34FXW++CfPBg6CEBEw+7zxkrbgHsdnZsPb3g2JiJtwTkJlhbmxE/xdfgE0m6JYuBQDsOvdcDB08hJisLCQuPBkJJ52M5DPOQOJJJ/ri5QXUke5BbD/UhW0HO7H9YBe2H+rCntZe2N66uqRYzJ+WggXTUzB/egoWTE+FPjNZ2o5E2JMEpbFQTVA2bLWif8sWdP79TXT/61+Y+/priJ0+HW3PPouW3z6B2JwcxM2cibjZsxA7cxbSrroSUYmJGNi5E6Y9e2Dt7YW1pweW3l7AYsWUH/0QAND6TAV6P/wQg7t2wdLZCQCImzsXuf98GwDQ//nniMnODqmxSgNmCxqO9GB3Sw92Hu5Wk1IXjnQPDj9nRlqikoimparJKAXTpN1IRChJUBoL9QRlj61WgAhEhL76evT8+z8w72+EqXE/TI2NsPb04PitW0BxcTj0wIMwrl074violBQc99mnAIAjv/sd+j7bhNg5s5F48slIXLgQ8bm5IVFl1zM4hIaWHuxq6cGulm7sblZ+3t/RN1wqiokizMuahAXTlUQ0f5pSOpKZvoU4ShKUxsIpQblj6epCdEoKAGWgrKWnF9GTkhE1aRKikpJCbmBwZ78Zu1u6satZKRXtalG+23rRAUBcdBT0U5KRmzUJx2RNwjFZk3FM9iTMyUiWGb6FcEMSlMYiKUGFop7BIext7cXetl7sbe3FntY+7GtTHrf2mIafFx8ThXm2JJQ9efjnWelJ0lYkhJfCPUEFf32Q0Jx9EtrX1oc9rb3q4z609gyOeG52SjxmZyTjvOOzMXdK8nCpKCctEdEyA4MQYhwkQQkMmC04aOzH/o5+HOjow4GOfuxvV74f6OgbURICgKzJ8ZiTmYxzj5+COZnJmJuRjNkZyZiTmYSkOHlLCSF8Qz5NIkCfaQiHOgdwyDhwNAF1HE1Atpm5bWKjCdN1iZiZloSCE7IxMz0JczOTMScjGbMzkpAcL28bIYT/ySdNiOs3WXCos19JQJ0DOGTsx6Eu9bu6rbPfPOKY6CjCtNQEzExLwjnHTMGMtCTMTE/EjLQkzEhLRHZKglTHCSE0JwkqSPWbLGjpHkBL9yBaugbR3KX+3D2Alq7B4X22hfLspSfHYVpqAmakJWHJnHRM0yVgemoipqYmYEZaIqamJEjHBCFE0JMEFSBWK6N7cAjtvSa09gyirWcQR3pMaOsZRFuPbZsJrb2DONI9iO6BoVHniI0mZE1OwJTJ8ZibmYzT5mZgamoCpqUmYGrq0SQk88sJIcKBJt3MiagIynojemaudPXcYOtmbrZY0dlvhrHPjM5+Mzr7TTD2KY+N/WZ09plgHLHfDGOfCZ39ZljHuNVpSbHImBSPjOQ4ZE6Ox5RJ8ZgyOR5Zk+ORnZKArJR4ZE1OQFpSrMyYIIQYJt3MfUxNTlAXwSohogJXqzMOWax4dqMBzABD+YRXfsaobep5j/5s9xz7bWAe3gcAQ1ZGv2kIfSaL+qX83G+2oHdwCP0mC/rMyj6TOhmp89cGpCTEQpcUi9RE5WtmehJ0iUe3ZUyKQ0ZyPDImxWHKpHikJcchVqrbhBBiFC2q+JYAsM3hYwCQB2BEglKXFS6xPV5+Tm5fwKILTjEARtf5RR65Dwq5Dwq5D0Ci1gH4kxYJSufwOMPxCWq1XyUAENFmZl4cgLiCltwDhdwHhdwHhdwH5R5oHYM/aVG3ZASQrsF1hRBChBAtEtQmHC1F6QHUaBCDEEKIIBfwBMXM1QD0RFQAQOeqg4TKZS+/CCH3QCH3QSH3QSH3IczvQdDPZi6EECIySf9mIYQQQUkSlBBCiKAUNFMduZtdYjyzT4QyV6+TiHRQOpboASxh5rKABxggnv6+iag8XO+DB38TeVDeC7a23bAknw0K9XWWMnOhi/1GhNF9CIoSlP3sEurjgvHsDxcevM5lABbbPozUAc1hx9Pft7pdH8DQAsbDe7BSfS+kE1FE3gf1sUHdb1CTdlhy9U9IuH5GBkWCgjK7hEH92Ta7xHj2hwuXr5OZK+3+M9LbPTfcuP19qx/I4fr6ATf3QP3nZBMR6dX3RbjeC3fvhc0AqmylSWauD2RwQSQsPyODJUHpHB47zi7hbn+40Dk8dvo61Q/ndg+66IcqncNjZ/dBH8YfyoD7e5Crbmsnogq1+jcc6Rwej7gPzGwEUAGgCkB+YEIKSjqHx2HxGRksCcoI17NLuNsfLozw7HUWMXOpn2PRkhEu7oO7CYbDhBHu3wsN6gd0HezmrgwzRrh5LwCoZeZcAEZbVVcEMiIMPyODJUG5m10iUmafcPs6iaiImVerP4dFMd4Jd/ehnYgK1A8jfZjeB0/+Jmx0UD6gwpG7+5BnV623CmH4Ie2hsPyMDIoENdbsEkRU42p/uHF3H9Tt5URUR0R1CNM/Rg/eD/XqtnSMrtoICx7+TehsjeHh0mvLkbv7AKDStmwPgGXheh+A4b//xfalxHD/jJSZJIQQQgSloChBCSGEEI4kQQkhhAhKkqCEEEIEJUlQQgghgpIkKCGEEEFJEpQQQoigJAlKhDQiKiciJqIG9atDHSfm8YwC6vNL7B43EFH5OI4vsrt2pM5kIITPBc1yG0JMQD0zD8/Dpg5WrFInUl3txflK4eFEtOq8iGsAzFWnHRJC+IiUoETYUUfRLwew0tvjxzERbQGAzZKchPA9SVAiXIXlNFBCRBJJUCKsEJFObU8qB1DssL1KbSdqcLXYo5M2KafHqu1UFQAK1H1Oz+nQRmX/Na62LiEijbRBiXCQR0Qd6s86KDN7FztMmLkBwCpmLlbXTtpARJ5W5Y11bBkRNUBZhtvpWkS2lW6ZOZeISpi50jb7urPF9YhoBZTlIyJ14T0hhkkJSoSDemZOU78ISsmpnIgqgOFOE3nqtgYo6yfpoLQfuTSRY1Xtdkt169TvBRijEwYzr5bkJIRCSlAi7Kglp3y1+3kNlPaoWmYu9OJ0+gkca1vxdbgkpcqVThVCuCclKBHOjFCSkwHAYi/PMZFj7ZUBsFU56h13EpFeXYRR2qSEUEmCEmHH1qkBQDuAdWqJyqBusz2nyJOVeCdyrIMC+6o720KDdmyLzIXj6sBCeEUSlAgHefYzSUBpJ2oHkG9XlXYeANh60AG4Eh4Oxp3gsVBnl6i221QPh5WAmble7YBhhBACgKyoK0TQUBNZejgvWy7EeEgJSojgUYij7VRCRDxJUEJozK49Sz+OKZaECHtSxSeExtQOGDVQ5vSTMVBCqCRBCSGECEpSxSeEECIoSYISQggRlCRBCSGECEqSoIQQQgQlSVBCCCGC0v8HuqmH0bV29bUAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot figure 13 right panel\n",
    "\n",
    "exchange = np.divide(Phi_kappa, Psi_kappa) \n",
    "for i in range(len(kappa_grid)): \n",
    "    fig, ax1 = plt.subplots()\n",
    "    ax1.plot(np.append(0,Pi_kappa[i,:]), np.append(0,exchange[i,:]))\n",
    "\n",
    "    ax1.set_ylabel(r'Exchange $\\phi_j/\\psi_j$', fontsize=16)\n",
    "    ax1.set_xlabel('Belief $\\pi_j$', fontsize=16)\n",
    "    #ax1.plot(pi_meqm[0,:],np.zeros(n),'k|')\n",
    "    ax1.set_ylim((0,max(exchange[i,:]*1.05)))\n",
    "    ax1.set_xlim((0,1))\n",
    "    ax2 = ax1.twinx()  # instantiate a second axes that shares the same x-axis\n",
    "\n",
    "    ax2.plot(np.append(0,Pi_kappa[i,:]),np.append(W_kappa[i,0],W_kappa[i,:]),'--',color='tab:red',label=r'$\\Omega$')\n",
    "\n",
    "    ax2.set_ylabel(r'Welfare $\\Omega_j$', fontsize=16)  # we already handled the x-label with ax1\n",
    "    ax2.set_ylim(min(W_kappa[i,:])*0.999,max(W_kappa[i,:])*1.001)\n",
    "    ax2.set_xlim((0,1))\n",
    "    name = str(kappa_grid[i])\n",
    "    plt.title('Competing Currencies and Fiat Money:$\\kappa$='+name,fontsize=16)\n",
    "\n",
    "    fig.legend([ax1.get_lines()[0], ax2.get_lines()[0]], [r'$\\phi/\\psi$',r'$\\Omega$ (Right)'],loc='upper right',\n",
    "               bbox_to_anchor=(0.4, 0.85),fontsize=14)\n",
    "    fig.tight_layout() \n",
    "    #plt.savefig('dual_curr_fiat_money_welfare'+name+'.pdf')\n",
    "#     DataOut = np.column_stack((np.append(0,Pi_kappa[i,:]),np.append(0,exchange[i,:]))) \n",
    "#     np.savetxt('dual_curr_fiat_money_exchange'+name+'.dat', DataOut)\n",
    "#     DataOut = np.column_stack((np.append(0,Pi_kappa[i,:]),np.append(W_kappa[i,0],W_kappa[i,:]))) \n",
    "#     np.savetxt('dual_curr_fiat_money_w'+name+'.dat', DataOut)\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Online Appendix -- Agents with Heterogenous Beliefs "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Unique Equilibrium\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/liangfan/opt/anaconda3/lib/python3.9/site-packages/scipy/optimize/minpack.py:175: RuntimeWarning: The iteration is not making good progress, as measured by the \n",
      "  improvement from the last ten iterations.\n",
      "  warnings.warn(msg, RuntimeWarning)\n",
      "/var/folders/68/f_1qhmls3_b2w5ws_5ln_kdh0000gn/T/ipykernel_4997/780161509.py:29: RuntimeWarning: invalid value encountered in sqrt\n",
      "  return (1-(-1+rho+((1-rho)**2+rho*x)**0.5)/rho)/(((1-rho)**2+rho*x)**0.5)\n"
     ]
    }
   ],
   "source": [
    "A=1          #money supply\n",
    "M=1          #safe asset supply\n",
    "beta=0.99    #discount factor\n",
    "alpha=0.01   #meeting prob\n",
    "rho=0.5      #bargaining power\n",
    "gamma_h = 10   #div of high state\n",
    "gamma_l = -10   #div of low state \n",
    "sigma=0.5    #prob of being a buyer/seller <=0.5\n",
    "s_h=0.55     #prob of receiving gamma_h in H state\n",
    "s_l=1-s_h    #prob of receiving gamma_h in L state\n",
    "eta=0.5      #upper bound of prob of getting signals \n",
    "zeta=0.01    #prob of getting dividends \n",
    "x=12         #gap b/t beliefs \n",
    "#guessmin_h = 0.01  #optimistic agents initial belief\n",
    "tolerance= 0.00001\n",
    "guessnum = 150\n",
    "\n",
    "if s_h*gamma_h + s_l*gamma_l < 0: \n",
    "    print(\"Error: negative exp_phi_h not allowed in the baseline\")\n",
    "if s_h*gamma_l + s_l*gamma_h >=0: \n",
    "    print(\"Error: positive exp_phi_l not allowed in the baseline\")\n",
    "    \n",
    "def utility(q): \n",
    "    return 2*q**0.5 \n",
    "\n",
    "q_star = 1 \n",
    "\n",
    "def lpremium(x): #x is liquidity (wealth) here\n",
    "    return (1-(-1+rho+((1-rho)**2+rho*x)**0.5)/rho)/(((1-rho)**2+rho*x)**0.5)\n",
    "\n",
    "w_star = fsolve(lpremium,1.5) \n",
    "\n",
    "def func_f(x): \n",
    "    if x < w_star: \n",
    "        return beta*x*(1+alpha*sigma*lpremium(x))\n",
    "    else:\n",
    "        return beta*x \n",
    "    \n",
    "def func_f_a(x,y): \n",
    "    if x < w_star: \n",
    "        return beta*x*(1+alpha*sigma*lpremium(x*y))\n",
    "    else:\n",
    "        return beta*x \n",
    "    \n",
    "if derivative(func_f, 0, dx=1e-6, n=1) < 1/(2*eta*math.sqrt((1-s_h)*s_h)+1-eta):\n",
    "    print(\"Unique Equilibrium\")\n",
    "else:\n",
    "    print(\"May not have unique Equilibrium\")\n",
    "    \n",
    "def eq_phi_h(y): \n",
    "    return func_f(zeta*(s_h*gamma_h +s_l*gamma_l)+y) -y\n",
    "\n",
    "phi_h = fsolve(eq_phi_h, w_star)\n",
    "\n",
    "if phi_h <=0:\n",
    "    print(\"Error: Neg phi_h\") \n",
    "elif isinstance(phi_h,complex): \n",
    "    print(\"Error: Complex phi_h\")\n",
    "    \n",
    "def exp_gamma(y): #y is current belief pi_j here \n",
    "    return zeta*((y*s_h +(1-y)*s_l)*gamma_h+(1-(y*s_h +(1-y)*s_l))*gamma_l)\n",
    "guessmax = fsolve(exp_gamma, 0.5)\n",
    "if guessmax >=1:\n",
    "    print(\"Error: Wrong guessmax, set to 1\")\n",
    "    guessmax=1\n",
    "guessmin = 0.0000001\n",
    "\n",
    "def update(y): #belief updating after receiving a good news\n",
    "    return y*s_h/(y*s_h + (1-y)*s_l)\n",
    "\n",
    "diff = 10 #to calculate the time horizon\n",
    "pi = guessmin \n",
    "count = 1\n",
    "while diff > tolerance:\n",
    "    pi_prime = update(pi)\n",
    "    count += 1 \n",
    "    diff = 1 - pi_prime\n",
    "    pi = pi_prime\n",
    "n = count #time horizon \n",
    "\n",
    "#solve for q in the DM \n",
    "def eq_q(x,y): #x is real balances and y is q \n",
    "    if x >= w_star: \n",
    "        return y - q_star #meaning that q=q_star\n",
    "    else: \n",
    "        return -x + (1 - rho)*utility(y) + rho*y\n",
    "    \n",
    "rbalance_h = zeta*(s_h*gamma_h+(1-s_h)*gamma_l) + phi_h  \n",
    "def eq_qh(y): #given real balance and y is q \n",
    "    if rbalance_h >= w_star: \n",
    "        return y - q_star #meaning that q=q_star\n",
    "    else: \n",
    "        return -rbalance_h + (1 - rho)*utility(y) + rho*y\n",
    "\n",
    "q_h = fsolve(eq_qh, q_star)    \n",
    "w_h = (alpha*sigma*(utility(q_h) - q_h))/(1-beta)\n",
    "   \n",
    "pi0_guess = guessmin\n",
    "a = np.empty(n)\n",
    "a[:] = np.nan\n",
    "pi_array = np.copy(a) \n",
    "pi_array[0] = pi0_guess\n",
    "sbar_array = np.copy(a) \n",
    "gammabar_array = np.copy(a) \n",
    "a_array = np.copy(a)\n",
    "\n",
    "a = np.empty(n)\n",
    "a[:] = np.nan\n",
    "Phi_array = np.copy(a)\n",
    "Pi_array = np.copy(a)\n",
    "Sbar_array = np.copy(a)\n",
    "Gammabar_array = np.copy(a)\n",
    "A_array = np.copy(a)\n",
    "a = np.zeros(n)\n",
    "phi_guess = np.copy(a) #initial guess of phi sequence \n",
    "phi_guess[-x-2:n] = phi_h\n",
    "a = np.zeros(n)\n",
    "a[1:n] = np.nan\n",
    "phi = np.copy(a)\n",
    "phi_ttest = np.copy(a)\n",
    "phi_ttest[-x-2:n] = phi_h #updated guess of phi sequence. specify the length here\n",
    "\n",
    "pi0 = pi0_guess\n",
    "pi = np.copy(pi0)  \n",
    "sbar_array[0] = pi0*s_h + (1-pi0)*s_l \n",
    "gammabar_array[0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l)\n",
    "\n",
    "for j in range(n-1):\n",
    "    pi_prime = update(pi) \n",
    "    pi_array[j+1] = pi_prime \n",
    "    sbar_array[j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "    gammabar_array[j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h+(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l)\n",
    "    pi = pi_prime   \n",
    "        \n",
    "sbar = np.copy(sbar_array)\n",
    "gammabar = np.copy(gammabar_array)\n",
    "phi = np.copy(phi_guess)\n",
    "count = 1\n",
    "diff = 1\n",
    "while diff > tolerance and count <= 2500:\n",
    "    phi_test = np.copy(phi_ttest)   \n",
    "    for j in range(1, n-1-x): # j is state\n",
    "        sbar_j = sbar[j]\n",
    "        gammabar_j = gammabar[j]\n",
    "        ell_j = gammabar_j + eta*(sbar_j*phi[j+1]+(1-sbar_j)*phi[j-1]) + (1-eta)*phi[j]\n",
    "        sbar_h_j = sbar[j+x]\n",
    "        gammabar_h_j = gammabar[j+x]\n",
    "        ell_h_j = gammabar_h_j + eta*(sbar_h_j*phi[j+1]+(1-sbar_h_j)*phi[j-1]) + (1-eta)*phi[j]\n",
    "        phi_jtest = max(func_f(ell_j), beta*ell_h_j, 0)\n",
    "        if phi_jtest>0 and func_f(ell_j) > beta*ell_h_j:\n",
    "            a_array[j] = 1 \n",
    "        elif phi_jtest>0 and func_f(ell_j) <= beta*ell_h_j: \n",
    "            def eq_a(a): \n",
    "                return func_f_a(ell_j,a) - beta*ell_h_j\n",
    "            a_array[j] = max(fsolve(eq_a,0.0001),0)\n",
    "        else: \n",
    "            a_array[j] = 0\n",
    "        \n",
    "        phi_test[j] = phi_jtest\n",
    "    \n",
    "    count += 1 \n",
    "    if count ==2500: \n",
    "        print(\"Count=2500 number of iterations reached at initial guess\")\n",
    "    diff = np.max(np.abs(phi - phi_test))\n",
    "    phi = np.copy(phi_test) #update price array \n",
    "            \n",
    "#check incentive constraints \n",
    "# first phi just greater than 0  \n",
    "res = next(x for x, val in enumerate(phi) if val > 0) \n",
    "cond1 = gammabar[res-1-x] + eta*sbar[res-1-x]*phi[res] \n",
    "if (cond1 <= tolerance): \n",
    "    #Record arrays\n",
    "    Pi0_array = np.copy(pi_array[res-1]) \n",
    "    Phi_array = np.copy(phi) #record converged price arrays\n",
    "    Pi_array = np.copy(pi_array)\n",
    "    Sbar_array = np.copy(sbar) \n",
    "    Gammabar_array = np.copy(gammabar)  \n",
    "    A_array = a_array\n",
    "else: \n",
    "    Pi0_array = np.nan \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Get the dividend baseline prices\n",
    "\n",
    "pi0_guess = guessmin\n",
    "a = np.empty(n)\n",
    "a[:] = np.nan\n",
    "pi_array = np.copy(a) \n",
    "pi_array[0] = pi0_guess\n",
    "sbar_array = np.copy(a) \n",
    "gammabar_array = np.copy(a) \n",
    "\n",
    "a = np.empty(n)\n",
    "a[:] = np.nan\n",
    "Phi_baseline = np.copy(a)\n",
    "Pi_baseline = np.copy(a)\n",
    "Sbar_baseline = np.copy(a)\n",
    "Gammabar_baseline = np.copy(a)\n",
    "a = np.zeros(n)\n",
    "phi_guess = np.copy(a) #initial guess of phi sequence \n",
    "phi_guess[-1] = phi_h\n",
    "a = np.zeros(n)\n",
    "a[1:n] = np.nan\n",
    "phi = np.copy(a)\n",
    "phi_ttest = np.copy(a)\n",
    "phi_ttest[-1] = phi_h #updated guess of phi sequence. specify the length here\n",
    "\n",
    "pi0 = pi0_guess\n",
    "pi = np.copy(pi0)  \n",
    "sbar_array[0] = pi0*s_h + (1-pi0)*s_l \n",
    "gammabar_array[0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l)\n",
    "\n",
    "for j in range(n-1):\n",
    "    pi_prime = update(pi) \n",
    "    pi_array[j+1] = pi_prime \n",
    "    sbar_array[j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "    gammabar_array[j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h+(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l)\n",
    "    pi = pi_prime   \n",
    "        \n",
    "sbar = np.copy(sbar_array)\n",
    "gammabar = np.copy(gammabar_array)\n",
    "phi = np.copy(phi_guess)\n",
    "count = 1\n",
    "diff = 1\n",
    "while diff > tolerance and count <= 1500:\n",
    "    phi_test = np.copy(phi_ttest)   \n",
    "    for j in range(1, n-1): # j is state\n",
    "        sbar_j = sbar[j]\n",
    "        gammabar_j = gammabar[j]\n",
    "        phi_jtest = max(func_f(gammabar_j + eta*(sbar_j*phi[j+1]+(1-sbar_j)*phi[j-1]) + (1-eta)*phi[j]),0)\n",
    "        phi_test[j] = phi_jtest\n",
    "    \n",
    "    count += 1 \n",
    "    if count ==1500: \n",
    "        print(\"Count=1500 number of iterations reached at initial guess No.\")\n",
    "    diff = np.max(np.abs(phi - phi_test))\n",
    "    phi = np.copy(phi_test) #update price array \n",
    "            \n",
    "#check incentive constraints \n",
    "# first phi just greater than 0  \n",
    "res = next(x for x, val in enumerate(phi) if val > 0) \n",
    "cond1 = gammabar[res-1] + eta*sbar[res-1]*phi[res] \n",
    "if (cond1 <= tolerance): \n",
    "    #Record arrays\n",
    "    Pi0_baseline = np.copy(pi_array[res-1]) \n",
    "    Phi_baseline = np.copy(phi) #record converged price arrays\n",
    "    Pi_baseline = np.copy(pi_array)\n",
    "    Sbar_baseline = np.copy(sbar) \n",
    "    Gammabar_baseline = np.copy(gammabar)  \n",
    "else: \n",
    "    Pi0_baseline = np.nan \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot figure 14\n",
    "\n",
    "Pi_h_array = np.zeros(len(Pi_array)) \n",
    "Pi_h_array[:] = np.nan\n",
    "diagnal = np.copy(Pi_h_array)\n",
    "for j in range(len(Pi_array)-x):\n",
    "    Pi_h_array[j] = Pi_array[j+x]\n",
    "    diagnal[j] = Pi_array[j] \n",
    "\n",
    "plt.plot(Pi_array, Pi_h_array,linestyle = '-')\n",
    "plt.plot(Pi_array, diagnal,linestyle = ':',color='gray')\n",
    "plt.plot(Pi_array,np.zeros(n),'k|')\n",
    "\n",
    "plt.xlim(0,1)\n",
    "plt.xlabel(\"Regular Buyer's Belief $\\pi_j$\", fontsize=16)\n",
    "plt.ylabel(\"Hodler's Belief $\\pi^h_j$\", fontsize=16)\n",
    "plt.ylim(0) \n",
    "plt.xticks(fontsize=12)\n",
    "plt.yticks(fontsize=12)\n",
    "#plt.legend(fontsize=16)\n",
    "plt.title('Heterogenous Beliefs',fontsize=16)\n",
    "plt.tight_layout()\n",
    "#plt.savefig('compare_beliefs.pdf')\n",
    "# DataOut = np.column_stack((Pi_array[1:n-x-1],Pi_h_array[1:n-x-1]))\n",
    "# np.savetxt('het_belief_pi_h.dat', DataOut)\n",
    "# DataOut = np.column_stack((Pi_array[1:n-x-1],diagnal[1:n-x-1]))\n",
    "# np.savetxt('het_belief_diagnal.dat', DataOut)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot figure 15 left panel\n",
    "\n",
    "plt.plot(Pi_array, Phi_array,linestyle='-', label=r\"$\\phi_j$\")\n",
    "plt.plot(Pi_array, Phi_baseline,linestyle='--', label=r\"Baseline $\\phi_j$\")\n",
    "plt.plot(Pi_array, A_array, linestyle=':',label=r\"$a_j$\")\n",
    "\n",
    "plt.plot(Pi_array,np.zeros(n),'k|')\n",
    "plt.xlim(0,1)\n",
    "plt.xlabel('Belief $\\pi_j$', fontsize=16)\n",
    "#plt.ylabel('Price', fontsize=16)\n",
    "plt.ylim(0) \n",
    "plt.xticks(fontsize=12)\n",
    "plt.yticks(fontsize=12)\n",
    "plt.legend(fontsize=16)\n",
    "plt.title('Heterogenous Beliefs',fontsize=16)\n",
    "plt.tight_layout()\n",
    "#plt.savefig('het_belief.pdf')\n",
    "# DataOut = np.column_stack((Pi_array[1:n-x-1],Phi_array[1:n-x-1]))\n",
    "# np.savetxt('het_belief_phi.dat', DataOut)\n",
    "# DataOut = np.column_stack((Pi_array[1:n-x-1],Phi_baseline[1:n-x-1]))\n",
    "# np.savetxt('het_belief_phi_baseline.dat', DataOut)\n",
    "# DataOut = np.column_stack((Pi_array[1:n-x-1],A_array[1:n-x-1]))\n",
    "# np.savetxt('het_belief_a.dat', DataOut)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/liangfan/opt/anaconda3/lib/python3.9/site-packages/scipy/optimize/minpack.py:175: RuntimeWarning: The iteration is not making good progress, as measured by the \n",
      "  improvement from the last ten iterations.\n",
      "  warnings.warn(msg, RuntimeWarning)\n",
      "/var/folders/68/f_1qhmls3_b2w5ws_5ln_kdh0000gn/T/ipykernel_4997/1344919041.py:29: RuntimeWarning: invalid value encountered in sqrt\n",
      "  return (1-(-1+rho+((1-rho)**2+rho*x)**0.5)/rho)/(((1-rho)**2+rho*x)**0.5)\n",
      "/Users/liangfan/opt/anaconda3/lib/python3.9/site-packages/scipy/optimize/minpack.py:175: RuntimeWarning: The iteration is not making good progress, as measured by the \n",
      "  improvement from the last five Jacobian evaluations.\n",
      "  warnings.warn(msg, RuntimeWarning)\n"
     ]
    }
   ],
   "source": [
    "# Mimic Fiat Money\n",
    "\n",
    "kappa_grid = [0.001,0.5] #mimic fiat money\n",
    "#alpha_grid = [0.015,0.02,0.025]\n",
    "#kappa =0.01 \n",
    "a = np.empty([len(kappa_grid),n])\n",
    "a[:] = np.nan\n",
    "Phi_fiat = np.copy(a)\n",
    "Pi_fiat = np.copy(a)\n",
    "A_fiat = np.copy(a)\n",
    "   \n",
    "for i in range(len(kappa_grid)):    \n",
    "     \n",
    "    kappa = kappa_grid[i] \n",
    "    gamma_h_tilde = kappa*gamma_h \n",
    "    gamma_l_tilde = kappa*gamma_l\n",
    "\n",
    "    def eq_phi_h_tilde(y): \n",
    "        return func_f(zeta*(s_h*gamma_h_tilde +s_l*gamma_l_tilde)+y) -y\n",
    "\n",
    "    phi_h_tilde = fsolve(eq_phi_h_tilde, 1)\n",
    "    if phi_h_tilde <=0:\n",
    "        print(\"Error: Neg phi_h\") \n",
    "    elif isinstance(phi_h_tilde,complex): \n",
    "        print(\"Error: Complex phi_h\")\n",
    "\n",
    "    pi0_guess = guessmin\n",
    "    a = np.empty(n)\n",
    "    a[:] = np.nan\n",
    "    pi_array = np.copy(a) \n",
    "    pi_array[0] = pi0_guess\n",
    "    sbar_array = np.copy(a) \n",
    "    gammabar_array = np.copy(a) \n",
    "\n",
    "    a = np.ones(n)\n",
    "    phi_guess = np.copy(a) #initial guess of phi sequence \n",
    "    phi_guess[-1-x:n] = phi_h_tilde\n",
    "    a = np.zeros(n)\n",
    "    a[1:n] = np.nan\n",
    "    phi = np.copy(a)\n",
    "    phi_ttest = np.copy(a)\n",
    "    phi_ttest[-1-x:n] = phi_h_tilde #updated guess of phi sequence. specify the length here\n",
    "\n",
    "    pi0 = pi0_guess\n",
    "    pi = np.copy(pi0)  \n",
    "    sbar_array[0] = pi0*s_h + (1-pi0)*s_l \n",
    "    gammabar_array[0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h_tilde+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l_tilde)\n",
    "\n",
    "    for j in range(n-1):\n",
    "        pi_prime = update(pi) \n",
    "        pi_array[j+1] = pi_prime \n",
    "        sbar_array[j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "        gammabar_array[j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h_tilde+(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l_tilde)\n",
    "        pi = pi_prime   \n",
    "\n",
    "    sbar = np.copy(sbar_array)\n",
    "    gammabar = np.copy(gammabar_array)\n",
    "    phi = np.copy(phi_guess)\n",
    "    count = 1\n",
    "    diff = 1\n",
    "    while diff > tolerance and count <= 2500:\n",
    "        phi_test = np.copy(phi_ttest)   \n",
    "        for j in range(1, n-1-x): # j is state\n",
    "            sbar_j = sbar[j]\n",
    "            gammabar_j = gammabar[j]\n",
    "            ell_j = gammabar_j + eta*(sbar_j*phi[j+1]+(1-sbar_j)*phi[j-1]) + (1-eta)*phi[j]\n",
    "            sbar_h_j = sbar[j+x]\n",
    "            gammabar_h_j = gammabar[j+x]\n",
    "            ell_h_j = gammabar_h_j + eta*(sbar_h_j*phi[j+1]+(1-sbar_h_j)*phi[j-1]) + (1-eta)*phi[j]\n",
    "            phi_jtest = max(func_f(ell_j), beta*ell_h_j, 0)\n",
    "            if phi_jtest>0 and func_f(ell_j) > beta*ell_h_j:\n",
    "                a_array[j] = 1 \n",
    "            elif phi_jtest>0 and func_f(ell_j) <= beta*ell_h_j: \n",
    "                def eq_a(a): \n",
    "                    return func_f_a(ell_j,a) - beta*ell_h_j\n",
    "                a_array[j] = max(fsolve(eq_a,0.01),0)\n",
    "            else: \n",
    "                a_array[j] = 0\n",
    "            \n",
    "            phi_test[j] = phi_jtest\n",
    "\n",
    "        count += 1 \n",
    "        if count ==2500: \n",
    "            print(\"Count=2500 number of iterations reached at initial guess No.\")\n",
    "        diff = np.max(np.abs(phi - phi_test))\n",
    "        phi = np.copy(phi_test) #update price array \n",
    "\n",
    "    #check incentive constraints \n",
    "    # first phi just greater than 0  \n",
    "\n",
    "    #Record arrays\n",
    "    Phi_fiat[i,:] = np.copy(phi) #record converged price arrays\n",
    "    A_fiat[i,:] = np.copy(a_array)\n",
    "    Pi_fiat[i,:] = np.copy(pi_array)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "#mimic dividend baseline fiat money\n",
    "\n",
    "kappa_grid = [0.001,0.5] \n",
    "\n",
    "#alpha_grid = [0.015,0.02,0.025]\n",
    "#kappa =0.01 \n",
    "a = np.empty([len(kappa_grid),n])\n",
    "a[:] = np.nan\n",
    "Phi_baseline_fiat = np.copy(a)\n",
    "Pi_baseline_fiat = np.copy(a)\n",
    "    \n",
    "for i in range(len(kappa_grid)):    \n",
    "     \n",
    "    kappa = kappa_grid[i] \n",
    "    gamma_h_tilde = kappa*gamma_h \n",
    "    gamma_l_tilde = kappa*gamma_l\n",
    "\n",
    "    def eq_phi_h_tilde(y): \n",
    "        return func_f(zeta*(s_h*gamma_h_tilde +s_l*gamma_l_tilde)+y) -y\n",
    "\n",
    "    phi_h_tilde = fsolve(eq_phi_h_tilde, 1)\n",
    "    if phi_h_tilde <=0:\n",
    "        print(\"Error: Neg phi_h\") \n",
    "    elif isinstance(phi_h_tilde,complex): \n",
    "        print(\"Error: Complex phi_h\")\n",
    "\n",
    "    pi0_guess = guessmin\n",
    "    a = np.empty(n)\n",
    "    a[:] = np.nan\n",
    "    pi_array = np.copy(a) \n",
    "    pi_array[0] = pi0_guess\n",
    "    sbar_array = np.copy(a) \n",
    "    gammabar_array = np.copy(a) \n",
    "\n",
    "    a = np.ones(n)\n",
    "    phi_guess = np.copy(a) #initial guess of phi sequence \n",
    "    phi_guess[-1] = phi_h_tilde\n",
    "    a = np.zeros(n)\n",
    "    a[1:n] = np.nan\n",
    "    phi = np.copy(a)\n",
    "    phi_ttest = np.copy(a)\n",
    "    phi_ttest[-1] = phi_h_tilde #updated guess of phi sequence. specify the length here\n",
    "\n",
    "    pi0 = pi0_guess\n",
    "    pi = np.copy(pi0)  \n",
    "    sbar_array[0] = pi0*s_h + (1-pi0)*s_l \n",
    "    gammabar_array[0] = zeta*((pi0*s_h + (1-pi0)*s_l)*gamma_h_tilde+(1-(pi0*s_h + (1-pi0)*s_l))*gamma_l_tilde)\n",
    "\n",
    "    for j in range(n-1):\n",
    "        pi_prime = update(pi) \n",
    "        pi_array[j+1] = pi_prime \n",
    "        sbar_array[j+1] = pi_prime*s_h + (1-pi_prime)*s_l  \n",
    "        gammabar_array[j+1] = zeta*((pi_prime*s_h + (1-pi_prime)*s_l)*gamma_h_tilde+(1-(pi_prime*s_h + (1-pi_prime)*s_l))*gamma_l_tilde)\n",
    "        pi = pi_prime   \n",
    "\n",
    "    sbar = np.copy(sbar_array)\n",
    "    gammabar = np.copy(gammabar_array)\n",
    "    phi = np.copy(phi_guess)\n",
    "    count = 1\n",
    "    diff = 1\n",
    "    while diff > tolerance and count <= 2500:\n",
    "        phi_test = np.copy(phi_ttest)   \n",
    "        for j in range(1, n-1): # j is state\n",
    "            sbar_j = sbar[j]\n",
    "            gammabar_j = gammabar[j]\n",
    "            phi_jtest = max(func_f(gammabar_j + eta*(sbar_j*phi[j+1]+(1-sbar_j)*phi[j-1]) + (1-eta)*phi[j]),0)\n",
    "            phi_test[j] = phi_jtest\n",
    "\n",
    "        count += 1 \n",
    "        if count ==2500: \n",
    "            print(\"Count=2500 number of iterations reached at initial guess No.\")\n",
    "        diff = np.max(np.abs(phi - phi_test))\n",
    "        phi = np.copy(phi_test) #update price array \n",
    "\n",
    "    #check incentive constraints \n",
    "    # first phi just greater than 0  \n",
    "\n",
    "    #Record arrays\n",
    "    Phi_baseline_fiat[i,:] = np.copy(phi) #record converged price arrays\n",
    "    Pi_baseline_fiat[i,:] = np.copy(pi_array)\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot figure 15 right panel\n",
    "\n",
    "i=0\n",
    "fig, ax1 = plt.subplots()\n",
    "\n",
    "ax1.set_xlabel('Belief $\\pi_j$', fontsize=16)\n",
    "ax1.set_ylabel('Price',fontsize=16)\n",
    "lns1=ax1.plot(Pi_fiat[0,:],Phi_fiat[i,:],linestyle = '-', label = \"Heterogenous Beliefs $\\phi_j$\" )\n",
    "lns2=ax1.plot(Pi_baseline_fiat[0,:],Phi_baseline_fiat[i,:],linestyle = '--', label = \"Baseline $\\phi_j$\" )\n",
    "ax1.tick_params(axis='y')\n",
    "\n",
    "ax2 = ax1.twinx()  # instantiate a second axes that shares the same x-axis\n",
    "\n",
    "ax2.set_ylabel('Asset Holding', fontsize=16)  # we already handled the x-label with ax1\n",
    "lns3=ax2.plot(Pi_fiat[0,:],A_fiat[i,:],linestyle = ':',color='green', label = \"$a_j$\" )\n",
    "ax2.tick_params(axis='y')\n",
    "\n",
    "label = str(kappa_grid[i])\n",
    "plt.plot(Pi_fiat[0,:],np.zeros(n),'k|')\n",
    "plt.xlim(0,1)\n",
    "plt.ylim(0) \n",
    "plt.xticks(fontsize=12)\n",
    "plt.yticks(fontsize=12)\n",
    "# added these three lines\n",
    "lns = lns1+lns2+lns3\n",
    "labs = [l.get_label() for l in lns]\n",
    "ax1.legend(lns, labs,loc=4\n",
    "           , fontsize=12)\n",
    "\n",
    "plt.title('Fiat Money, $\\kappa$='+label,fontsize=16)\n",
    "plt.tight_layout()\n",
    "#plt.savefig('het_belief_fiat_money'+label'.pdf')\n",
    "\n",
    "# DataOut = np.column_stack((Pi_fiat[0,1:n-x-1],Phi_fiat[i,1:n-x-1]))\n",
    "# np.savetxt('het_belief_phi_fiat.dat', DataOut)\n",
    "# DataOut = np.column_stack((Pi_fiat[0,1:n-x-1],Phi_baseline_fiat[i,1:n-x-1]))\n",
    "# np.savetxt('het_belief_phi_fiat_baseline.dat', DataOut)\n",
    "# DataOut = np.column_stack((Pi_fiat[0,1:n-x-1],A_fiat[i,1:n-x-1]))\n",
    "# np.savetxt('het_belief_a_fiat_baseline.dat', DataOut)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
